JaxBeanInfo implementation for immutable leaf classes.
Leaf classes are always bound to a text and they are often immutable. The JAXB spec allows this binding for a few special Java classes plus type-safe enums.
This implementation obtains necessary information from RuntimeLeafInfo.
| Modifier and Type | Field and Description |
|---|---|
| private final Loader | |
| private final Loader | |
| private final Name | tagName
Non-null only if the leaf is also an element. |
| private final Transducer |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public BeanT | createInstance(UnmarshallingContext context)
Implements abstract org. Creates a new instance of the bean. |
| public String | getElementLocalName(BeanT t)
Implements abstract org. Returns the local name portion of the element name, if the bean that this class represents is mapped from/to an XML element. |
| public String | getElementNamespaceURI(BeanT t)
Implements abstract org. Returns the namespace URI portion of the element name, if the bean that this class represents is mapped from/to an XML element. |
| public String | getId(BeanT bean, XMLSerializer target)
Implements abstract org. Gets the ID value of the given bean, if it has an ID value. |
| public Loader | getLoader(JAXBContextImpl context, boolean typeSubstitutionCapable)
Implements abstract org. Gets the |
| public Transducer | getTransducer()
Implements abstract org. If the bean's representation in XML is just a text,
this method return a |
| public QName | getTypeName(BeanT instance)
Overrides org. Returns the XML type name to be used to marshal the specified instance. |
| public boolean | reset(BeanT bean, UnmarshallingContext context)
Implements abstract org. Resets the object to the initial state, as if the object is created fresh. |
| public void | serializeAttributes(BeanT bean, XMLSerializer target)
Implements abstract org. Serializes attributes into the specified target. |
| public void | serializeBody(BeanT bean, XMLSerializer w)
Implements abstract org. Serializes child elements and texts into the specified target. |
| public void | serializeRoot(BeanT bean, XMLSerializer target)
Implements abstract org. Serializes the bean as the root element. |
| public void | serializeURIs(BeanT bean, XMLSerializer target)
Implements abstract org. Declares all the namespace URIs this object is using at its top-level scope into the specified target. |
| loader | back to summary |
|---|---|
| private final Loader loader | |
| loaderWithSubst | back to summary |
|---|---|
| private final Loader loaderWithSubst | |
| tagName | back to summary |
|---|---|
| private final Name tagName Non-null only if the leaf is also an element. | |
| xducer | back to summary |
|---|---|
| private final Transducer<BeanT> xducer | |
| LeafBeanInfoImpl | back to summary |
|---|---|
| public LeafBeanInfoImpl(JAXBContextImpl grammar, RuntimeLeafInfo li) | |
| createInstance | back to summary |
|---|---|
| public BeanT createInstance(UnmarshallingContext context) Implements abstract org. Doc from org. Creates a new instance of the bean.
This operation is only supported when
| |
| getElementLocalName | back to summary |
|---|---|
| public String getElementLocalName(BeanT t) Implements abstract org. Doc from org. Returns the local name portion of the element name, if the bean that this class represents is mapped from/to an XML element.
| |
| getElementNamespaceURI | back to summary |
|---|---|
| public String getElementNamespaceURI(BeanT t) Implements abstract org. Doc from org. Returns the namespace URI portion of the element name, if the bean that this class represents is mapped from/to an XML element.
| |
| getId | back to summary |
|---|---|
| public String getId(BeanT bean, XMLSerializer target) Implements abstract org. Doc from org. Gets the ID value of the given bean, if it has an ID value. Otherwise return null.
| |
| getLoader | back to summary |
|---|---|
| public Loader getLoader(JAXBContextImpl context, boolean typeSubstitutionCapable) Implements abstract org. Doc from org. Gets the
| |
| getTransducer | back to summary |
|---|---|
| public Transducer Implements abstract org. Doc from org. If the bean's representation in XML is just a text,
this method return a
| |
| getTypeName | back to summary |
|---|---|
| public QName getTypeName(BeanT instance) Overrides org. Doc from org. Returns the XML type name to be used to marshal the specified instance.
Most of the times the type can be determined regardless of the actual
instance, but there's a few exceptions (most notably
| |
| reset | back to summary |
|---|---|
| public boolean reset(BeanT bean, UnmarshallingContext context) Implements abstract org. Doc from org. Resets the object to the initial state, as if the object is created fresh. This is used to reuse an existing object for unmarshalling.
| |
| serializeAttributes | back to summary |
|---|---|
| public void serializeAttributes(BeanT bean, XMLSerializer target) Implements abstract org. Doc from org. Serializes attributes into the specified target.
| |
| serializeBody | back to summary |
|---|---|
| public void serializeBody(BeanT bean, XMLSerializer w) throws SAXException, IOException, XMLStreamException Implements abstract org. Doc from org. Serializes child elements and texts into the specified target.
| |
| serializeRoot | back to summary |
|---|---|
| public void serializeRoot(BeanT bean, XMLSerializer target) throws SAXException, IOException, XMLStreamException Implements abstract org. Doc from org. Serializes the bean as the root element. In the java-to-schema binding, an object might marshal in two different ways depending on whether it is used as the root of the graph or not. In the former case, an object could marshal as an element, whereas in the latter case, it marshals as a type. This method is used to marshal the root of the object graph to allow this semantics to be implemented. It is doubtful to me if it's a good idea for an object to marshal in two ways depending on the context.
For schema-to-java, this is equivalent to
| |
| serializeURIs | back to summary |
|---|---|
| public void serializeURIs(BeanT bean, XMLSerializer target) throws SAXException Implements abstract org. Doc from org. Declares all the namespace URIs this object is using at its top-level scope into the specified target.
| |