Module  java.xml.bind
软件包  javax.xml.bind

Class JAXBElement<T>

  • All Implemented Interfaces:
    Serializable


    public class JAXBElement<T>
    extends Object
    implements Serializable

    一个Xml元素的JAXB表示。

    该类从模式中的元素声明和xml文档中的元素实例值中表示有关Xml元素的信息,具有以下属性

    • 元素的xml标签name
    • value表示元素实例的属性和内容模型
    • 元素声明的declaredTypexs:element @type属性)
    • 元素声明scope
    • boolean nil属性。 (元素实例的xsi:nil属性)

    declaredTypescope属性是针对xml类型定义的JAXB类绑定。

    ScopeJAXBElement.GlobalScope或表示包含模式元素声明的复杂类型定义的Java类。

    有一个属性约束,如果valuenull ,那么nil必须是true 使用属性表示一个零元素是不正确的。 如果nil为真,则value可能为非空值,因此可以保存与零元素相关联的属性的值。

    从以下版本开始:
    1.6,JAXB 2.0
    另请参见:
    Serialized Form
    • Nested Class Summary

      Nested Classes  
      Modifier and Type Class 描述
      static class  JAXBElement.GlobalScope
      指定xml元素的全局范围。
    • Field Summary

      Fields  
      Modifier and Type Field 描述
      protected Class<T> declaredType
      Java数据类型绑定xml元素声明的类型。
      protected QName name
      xml元素标签名称
      protected boolean nil
      如果xml元素实例具有xsi:nil =“true”,则为true。
      protected Class scope
      表示此xml元素实例的xml元素声明的范围。
      protected T value
      xml元素值。
    • 字段详细信息

      • name

        protected final QName name
        xml元素标签名称
      • declaredType

        protected final Class<T> declaredType
        Java数据类型绑定xml元素声明的类型。
      • scope

        protected final Class scope
        表示此xml元素实例的xml元素声明的范围。 可以是以下值之一: - 全球xml元素声明的JAXBElement.GlobalScope - 本地元素声明的范围设置为包含xml元素声明的复杂类型定义的Java类表示形式。
      • value

        protected T value
        xml元素值。 表示xml元素实例的内容模型和属性。
      • nil

        protected boolean nil
        如果xml元素实例具有xsi:nil =“true”,则为true。
    • 构造方法详细信息

      • JAXBElement

        public JAXBElement​(QName name,
                           Class<T> declaredType,
                           Class scope,
                           T value)

        构造一个xml元素实例。

        参数
        name - Java绑定的xml元素标签名称
        declaredType - xml元素声明类型的Java绑定
        scope - Java绑定xml元素声明的范围。 传递null与通过GlobalScope.class相同
        value - 表示xml元素值的Java实例。
        另请参见:
        getScope()isTypeSubstituted()
      • JAXBElement

        public JAXBElement​(QName name,
                           Class<T> declaredType,
                           T value)
        构造一个xml元素实例。 这只是一个方便的方法new JAXBElement(name,declaredType,GlobalScope.class,value)
    • 方法详细信息

      • getDeclaredType

        public Class<T> getDeclaredType​()
        返回xml元素声明的type属性的Java绑定。
      • getName

        public QName getName​()
        返回xml元素标签名称。
      • setValue

        public void setValue​(T t)

        设置这个xml元素的内容模型和属性。

        当此属性设置为nullisNil()必须由true 约束细节描述于isNil()

        另请参见:
        isTypeSubstituted()
      • getValue

        public T getValue​()

        返回此元素的内容模型和属性值。

        有关属性约束的描述,请参阅isNil() ,该值为null

      • getScope

        public Class getScope​()
        返回xml元素声明的范围。
        结果
        GlobalScope.class如果这个元素是全局的范围。
        另请参见:
        isGlobalScope()
      • isNil

        public boolean isNil​()

        如果此元素实例内容模型为零,则返回true

        getValue()为空时,此属性始终返回true 请注意,相反是不正确的,当该属性为truegetValue()可以包含属性的非空值。 它对于一个nil xml元素具有属性是有效的。

      • setNil

        public void setNil​(boolean value)

        设置此元素是否具有零含量。

        另请参见:
        isNil()
      • isGlobalScope

        public boolean isGlobalScope​()
        如果这个xml元素声明是全局的,则返回true。
      • isTypeSubstituted

        public boolean isTypeSubstituted​()
        如果此xml元素实例的值与xml元素声明的声明类型具有不同的类型,则返回true。