Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Java™ Platform Standard Ed. 6
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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

  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.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Java™ Platform Standard Ed. 6
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.