Class JAXBElement<T>
- java.lang.Object
-
- javax.xml.bind.JAXBElement<T>
- All Implemented Interfaces:
- Serializable
public class JAXBElement<T> extends Object implements 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
and scope
property are the JAXB class binding for the xml type definition.
Scope
is either JAXBElement.GlobalScope
or the Java class representing the complex type definition containing the schema element declaration.
There is a property constraint that if value
is null
, then nil
must be true
. The converse is not true to enable representing a nil element with attribute(s). If nil
is true, it is possible that value
is non-null so it can hold the value of the attributes associated with a nil element.
- Since:
- JAXB 2.0
- See Also:
- Serialized Form
Nested Classes
Modifier and Type | Class and Description |
---|---|
static class |
JAXBElement.GlobalScope Designates global scope for an xml element. |
Fields
Modifier and Type | Field and Description |
---|---|
protected Class<T> |
declaredType Java datatype binding for xml element declaration's type. |
protected QName |
name xml element tag name |
protected boolean |
nil true iff the xml element instance has xsi:nil="true". |
protected Class |
scope Scope of xml element declaration representing this xml element instance. |
protected T |
value xml element value. |
Constructors
Constructor and Description |
---|
JAXBElement(QName name,
Class<T> declaredType,
Class scope,
T value) Construct an xml element instance. |
JAXBElement(QName name,
Class<T> declaredType,
T value) Construct an xml element instance. |
Methods
Modifier and Type | Method and Description |
---|---|
Class<T> |
getDeclaredType() Returns the Java binding of the xml element declaration's type attribute. |
QName |
getName() Returns the xml element tag name. |
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() Returns |
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. |
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Fields
name
protected final QName name
xml element tag name
declaredType
protected final Class<T> declaredType
Java datatype binding for xml element declaration's type.
scope
protected final 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".
Constructors
JAXBElement
public JAXBElement(QName name, Class<T> declaredType, Class scope, T value)
Construct an xml element instance.
- Parameters:
-
name
- Java binding of xml element tag name -
declaredType
- Java binding of xml element declaration's type -
scope
- 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()
JAXBElement
public JAXBElement(QName name, Class<T> declaredType, T value)
Construct an xml element instance. This is just a convenience method for new JAXBElement(name,declaredType,GlobalScope.class,value)
Methods
getDeclaredType
public Class<T> getDeclaredType()
Returns the Java binding of the xml element declaration's type attribute.
getName
public 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 by true
. Details of constraint are described at isNil()
.
- 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 is null
getScope
public 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
when getValue()
is null. Note that the converse is not true, when this property is true
, 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.
© 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.
https://docs.oracle.com/javase/8/docs/api/javax/xml/bind/JAXBElement.html