javax.xml.bind

接口
异常
java.lang.Object
  继承者 javax.xml.bind.JAXBElement<T>
所有已实现的接口:
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 类绑定。

Scope 可以是 JAXBElement.GlobalScope,也可以是表示包含模式元素声明的复杂类型定义的 Java 类。

这里有一个属性约束,即如果 valuenull,则 nil 一定为 true。反之则不然,以支持表示包含属性的 nil 元素。如果 nil 为 true,则 value 可能为非 null,这样它可以保存与 nil 元素关联的属性值。

从以下版本开始:
JAXB 2.0
另请参见:
序列化表格

嵌套类摘要
static class JAXBElement.GlobalScope
          为 xml 元素指定全局作用域。
 
字段摘要
protected  Class<T> declaredType
          xml 元素声明类型的 Java 数据类型绑定。
protected  QName name
          xml 元素标记名称。
protected  boolean nil
          如果 xml 元素实例具有 xsi:nil="true" 属性,则 nil 为 true。
protected  Class scope
          表示此 xml 元素实例的 xml 元素声明的作用域。
protected  T value
          xml 元素值。
 
构造方法摘要
JAXBElement(QName name, Class<T> declaredType, Class scope, T value)
          构造一个 xml 元素实例。
JAXBElement(QName name, Class<T> declaredType, T value)
          构造一个 xml 元素实例。
 
方法摘要
 Class<T> getDeclaredType()
          返回 xml 元素声明的类型属性的 Java 绑定。
 QName getName()
          返回 xml 元素标记名称。
 Class getScope()
          返回 xml 元素声明的作用域。
 T getValue()
          返回此元素的内容模式和属性值。
 boolean isGlobalScope()
          如果此 xml 元素声明是全局性的,则返回 true。
 boolean isNil()
          如果此元素实例内容模式为 nil,则返回 true
 boolean isTypeSubstituted()
          如果此 xml 元素实例的值的类型与 xml 元素声明的声明类型不同,则返回 true。
 void setNil(boolean value)
          设置此属性是否包含 nil 内容。
 void setValue(T t)
          设置此 xml 元素的内容模式和属性。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

name

protected final QName name
xml 元素标记名称。


declaredType

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


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" 属性,则 nil 为 true。

构造方法详细信息

JAXBElement

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

构造一个 xml 元素实例。

参数:
name - xml 元素标记名称的 Java 绑定
declaredType - xml 元素声明类型的 Java 绑定
scope - xml 元素声明作用域的 Java 绑定。传递 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 元素声明的类型属性的 Java 绑定。


getName

public QName getName()
返回 xml 元素标记名称。


setValue

public void setValue(T t)

设置此 xml 元素的内容模式和属性。

在将此属性设置为 null 时,isNil() 一定为 true。在 isNil() 中描述了约束的详细信息。

另请参见:
isTypeSubstituted()

getValue

public T getValue()

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

关于此值为 null 时的属性约束的描述,请参见 isNil()


getScope

public Class getScope()
返回 xml 元素声明的作用域。

返回:
如果此元素位于全局作用域中,则返回 GlobalScope.class
另请参见:
isGlobalScope()

isNil

public boolean isNil()

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

getValue() 为 null 时,此属性总是返回 true。注意,反之则不然,当此属性为 true 时,getValue() 可以包含非 null 属性值。对于 nil xml 元素,包含属性是有效的。


setNil

public void setNil(boolean value)

设置此属性是否包含 nil 内容。

另请参见:
isNil()

isGlobalScope

public boolean isGlobalScope()
如果此 xml 元素声明是全局性的,则返回 true。


isTypeSubstituted

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