JAXB v2.2.2

## javax.xml.bind
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's `xsi: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
Author:
  Kohsuke Kawaguchi, Joe Fialli
See Also:
  Serialized Form

Nested Class Summary
`static class` `JAXBElement.GlobalScope` Designates global scope for an xml element.

Field Summary
`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.

Constructor Summary
`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.

Method Summary
`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 `true` 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.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### 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".

Constructor Detail

### 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 passing `GlobalScope.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)`

Method Detail

### 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()`.</pp>

  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.

JAXB 2.0 PFD Specification License

Comments to: spec-comments@jsr222.dev.java.net
More information at: http://java.sun.com/xml/jaxb

Copyright © 2004 by Sun Microsystems, Inc., 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.