diff -r 000000000000 -r 373ffda63c9a 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 Wed Apr 27 01:27:09 2016 +0800 @@ -0,0 +1,131 @@ +/* + * Copyright (c) 2004, 2013, 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 {}