Spec-Zone.ru › OpenJDK 8

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


@Retention(value=RUNTIME)
 @Target(value={FIELD,METHOD,TYPE})
public @interface XmlTransient

Препятствует отображению свойства/типа JavaBean в XML-представлении.

Аннотация @XmlTransient полезна для разрешения коллизий имен между именем свойства JavaBean и именем поля или предотвращения отображения поля/свойства. Коллизия имен может произойти, когда декапитализированное имя свойства JavaBean и имя поля совпадают. Если свойство JavaBean ссылается на поле, то конфликт имен можно разрешить, предотвратив отображение либо поля, либо свойства JavaBean с помощью аннотации @XmlTransient.

При размещении на классе она указывает, что класс не должен отображаться в XML сам по себе. Свойства такого класса будут отображаться в XML вместе с его производными классами, как если бы класс был встроен.

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

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

  • свойство JavaBean
  • поле
  • класс

@XmlTransient является взаимоисключающей со всеми другими аннотациями, определёнными JAXB.

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

Пример: Разрешение коллизии имен между именем свойства JavaBean и именем поля

// Example: Code fragment
   public class USAddress {

       // The field name "name" collides with the property name
       // obtained by bean decapitalization of getName() below
       @XmlTransient public String name;

       String getName() {..};
       String setName() {..};
   }


   <!-- Example: XML Schema fragment -->
   <xs:complexType name="USAddress">
     <xs:sequence>
       <xs:element name="name" type="xs:string"/>
     </xs:sequence>
   </xs:complexType>
С момента:
JAXB2.0

© 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