Spec-Zone.ru › OpenJDK 8

Тип аннотации XmlEnumValue


@Retention(value=RUNTIME)
 @Target(value=FIELD)
public @interface XmlEnumValue

Сопоставляет константу перечисления в типе Enum с XML представлением.

Использование

Аннотация @XmlEnumValue может использоваться с элементами программы следующего типа:

  • константа перечисления

См. "Спецификацию пакета" в документации пакета javax.xml.bind для дополнительной общей информации.

Эта аннотация вместе с XmlEnum обеспечивает сопоставление типа перечисления с XML представлением.

Тип перечисления отображается в схеме простого типа со сторонами перечисления. Тип схемы выводится из типа Java, указанного в @XmlEnum.value(). Каждая константа перечисления @XmlEnumValue должна иметь допустимое лексическое представление для типа @XmlEnum.value()

В отсутствие этой аннотации используется Enum.name() в качестве XML представления.

Пример 1: Сопоставление имени константы перечисления -> стороне перечисления

//Example: Code fragment
     @XmlEnum(String.class)
     public enum Card { CLUBS, DIAMONDS, HEARTS, SPADES }

     <!-- Example: XML Schema fragment -->
     <xs:simpleType name="Card">
       <xs:restriction base="xs:string"/>
         <xs:enumeration value="CLUBS"/>
         <xs:enumeration value="DIAMONDS"/>
         <xs:enumeration value="HEARTS"/>
         <xs:enumeration value="SPADES"/>
     </xs:simpleType>

Пример 2: Сопоставление имени константы перечисления (значение) -> стороне перечисления

//Example: code fragment
     @XmlType
     @XmlEnum(Integer.class)
     public enum Coin {
         @XmlEnumValue("1") PENNY(1),
         @XmlEnumValue("5") NICKEL(5),
         @XmlEnumValue("10") DIME(10),
         @XmlEnumValue("25") QUARTER(25) }

     <!-- Example: XML Schema fragment -->
     <xs:simpleType name="Coin">
       <xs:restriction base="xs:int">
         <xs:enumeration value="1"/>
         <xs:enumeration value="5"/>
         <xs:enumeration value="10"/>
         <xs:enumeration value="25"/>
       </xs:restriction>
     </xs:simpleType>

Пример 3: Сопоставление имени константы перечисления -> стороне перечисления

//Code fragment
     @XmlType
     @XmlEnum(Integer.class)
     public enum Code {
         @XmlEnumValue("1") ONE,
         @XmlEnumValue("2") TWO;
     }

     <!-- Example: XML Schema fragment -->
     <xs:simpleType name="Code">
       <xs:restriction base="xs:int">
         <xs:enumeration value="1"/>
         <xs:enumeration value="2"/>
       </xs:restriction>
     </xs:simpleType>
С момента:
JAXB 2.0

Обязательные элементы

Модификатор и тип Обязательный элемент и описание
String value

Элементы

value

public abstract String value

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API