diff -r 88b85470e72c -r f50545b5e2f1 src/share/jaxws_classes/javax/xml/bind/annotation/XmlValue.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/share/jaxws_classes/javax/xml/bind/annotation/XmlValue.java Tue Mar 06 16:09:35 2012 -0800 @@ -0,0 +1,131 @@ +/* + * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package javax.xml.bind.annotation; + +import java.lang.annotation.Target; +import java.lang.annotation.Retention; +import static java.lang.annotation.ElementType.*; +import static java.lang.annotation.RetentionPolicy.*; + +/** + *

+ * Enables mapping a class to a XML Schema complex type with a + * simpleContent or a XML Schema simple type. + *

+ * + *

+ * Usage: + *

+ * The @XmlValue annotation can be used with the following program + * elements: + *

+ * + *

See "Package Specification" in javax.xml.bind.package javadoc for + * additional common information.

+ * + * The usage is subject to the following usage constraints: + * + *

+ *

+ * If the annotated JavaBean property is the sole class member being + * mapped to XML Schema construct, then the class is mapped to a + * simple type. + * + * If there are additional JavaBean properties (other than the + * JavaBean property annotated with @XmlValue annotation) + * that are mapped to XML attributes, then the class is mapped to a + * complex type with simpleContent. + *

+ * + *

Example 1: Map a class to XML Schema simpleType

+ * + *
+ *
+ *     // Example 1: Code fragment
+ *     public class USPrice {
+ *         @XmlValue
+ *         public java.math.BigDecimal price;
+ *     }
+ *
+ *     <!-- Example 1: XML Schema fragment -->
+ *     <xs:simpleType name="USPrice">
+ *       <xs:restriction base="xs:decimal"/>
+ *     </xs:simpleType>
+ *
+ *   
+ * + *

Example 2: Map a class to XML Schema complexType with + * with simpleContent.

+ * + *
+ *
+ *   // Example 2: Code fragment
+ *   public class InternationalPrice {
+ *       @XmlValue
+ *       public java.math.BigDecimal price;
+ *
+ *       @XmlAttribute
+ *       public String currency;
+ *   }
+ *
+ *   <!-- Example 2: XML Schema fragment -->
+ *   <xs:complexType name="InternationalPrice">
+ *     <xs:simpleContent>
+ *       <xs:extension base="xs:decimal">
+ *         <xs:attribute name="currency" type="xs:string"/>
+ *       </xs:extension>
+ *     </xs:simpleContent>
+ *   </xs:complexType>
+ *
+ *   
+ *

+ * + * @author Sekhar Vajjhala, Sun Microsystems, Inc. + * @see XmlType + * @since JAXB2.0 + */ + +@Retention(RUNTIME) @Target({FIELD, METHOD}) +public @interface XmlValue {}