Class JAXBElement<T>
- java.lang.Object
-
- javax.xml.bind.JAXBElement<T>
-
- All Implemented Interfaces:
java.io.Serializable
- Direct Known Subclasses:
JAXBTypeElement
public class JAXBElement<T> extends java.lang.Object implements java.io.Serializable
JAXB representation of an Xml Element.
This class represents information about an Xml Element from both the element declaration within a schema and the element instance value within an xml document with the following properties
- element's xml tag
name
value
represents the element instance's atttribute(s) and content model- element declaration's
declaredType
(xs:element @type
attribute) scope
of element declaration- boolean
nil
property. (element instance'sxsi:nil
attribute)
The
declaredType
andscope
property are the JAXB class binding for the xml type definition.Scope
is eitherJAXBElement.GlobalScope
or the Java class representing the complex type definition containing the schema element declaration.There is a property constraint that if
value
isnull
, thennil
must betrue
. The converse is not true to enable representing a nil element with attribute(s). Ifnil
is true, it is possible thatvalue
is non-null so it can hold the value of the attributes associated with a nil element.- See Also:
- Serialized Form
- Author:
- Kohsuke Kawaguchi, Joe Fialli
- Since:
- 1.6, JAXB 2.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
JAXBElement.GlobalScope
Designates global scope for an xml element.
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.Class<T>
declaredType
Java datatype binding for xml element declaration's type.protected javax.xml.namespace.QName
name
xml element tag nameprotected boolean
nil
true iff the xml element instance has xsi:nil="true".protected java.lang.Class
scope
Scope of xml element declaration representing this xml element instance.protected T
value
xml element value.
-
Constructor Summary
Constructors Constructor Description JAXBElement(javax.xml.namespace.QName name, java.lang.Class<T> declaredType, java.lang.Class scope, T value)
Construct an xml element instance.JAXBElement(javax.xml.namespace.QName name, java.lang.Class<T> declaredType, T value)
Construct an xml element instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Class<T>
getDeclaredType()
Returns the Java binding of the xml element declaration's type attribute.javax.xml.namespace.QName
getName()
Returns the xml element tag name.java.lang.Class
getScope()
Returns scope of xml element declaration.T
getValue()
Return the content model and attribute values for this element.boolean
isGlobalScope()
Returns true iff this xml element declaration is global.boolean
isNil()
Returnstrue
iff this element instance content model is nil.boolean
isTypeSubstituted()
Returns true iff this xml element instance's value has a different type than xml element declaration's declared type.void
setNil(boolean value)
Set whether this element has nil content.void
setValue(T t)
Set the content model and attributes of this xml element.
-
-
-
Field Detail
-
name
protected final javax.xml.namespace.QName name
xml element tag name
-
declaredType
protected final java.lang.Class<T> declaredType
Java datatype binding for xml element declaration's type.
-
scope
protected final java.lang.Class scope
Scope of xml element declaration representing this xml element instance. Can be one of the following values: -JAXBElement.GlobalScope
for global xml element declaration. - local element declaration has a scope set to the Java class representation of complex type defintion containing xml element declaration.
-
value
protected T value
xml element value. Represents content model and attributes of an xml element instance.
-
nil
protected boolean nil
true iff the xml element instance has xsi:nil="true".
-
-
Constructor Detail
-
JAXBElement
public JAXBElement(javax.xml.namespace.QName name, java.lang.Class<T> declaredType, java.lang.Class scope, T value)
Construct an xml element instance.
- Parameters:
name
- Java binding of xml element tag namedeclaredType
- Java binding of xml element declaration's typescope
- Java binding of scope of xml element declaration. Passing null is the same as passingGlobalScope.class
value
- Java instance representing xml element's value.- See Also:
getScope()
,isTypeSubstituted()
-
-
Method Detail
-
getDeclaredType
public java.lang.Class<T> getDeclaredType()
Returns the Java binding of the xml element declaration's type attribute.
-
getName
public javax.xml.namespace.QName getName()
Returns the xml element tag name.
-
setValue
public void setValue(T t)
Set the content model and attributes of this xml element.
When this property is set to
null
,isNil()
must bytrue
. Details of constraint are described atisNil()
.- See Also:
isTypeSubstituted()
-
getValue
public T getValue()
Return the content model and attribute values for this element.
See
isNil()
for a description of a property constraint when this value isnull
-
getScope
public java.lang.Class getScope()
Returns scope of xml element declaration.- Returns:
GlobalScope.class
if this element is of global scope.- See Also:
isGlobalScope()
-
isNil
public boolean isNil()
Returns
true
iff this element instance content model is nil.This property always returns
true
whengetValue()
is null. Note that the converse is not true, when this property istrue
,getValue()
can contain a non-null value for attribute(s). It is valid for a nil xml element to have attribute(s).
-
setNil
public void setNil(boolean value)
Set whether this element has nil content.
- See Also:
isNil()
-
isGlobalScope
public boolean isGlobalScope()
Returns true iff this xml element declaration is global.
-
isTypeSubstituted
public boolean isTypeSubstituted()
Returns true iff this xml element instance's value has a different type than xml element declaration's declared type.
-
-