public final class ClassBeanInfoImpl<BeanT> extends JaxBeanInfo<BeanT> implements AttributeAccessor<BeanT>
JaxBeanInfo implementation for j2s bean.| Modifier and Type | Field and Description |
|---|---|
Property<BeanT>[] |
properties
Properties of this bean class but not its ancestor classes.
|
ClassBeanInfoImpl<? super BeanT> |
superClazz
ClassBeanInfoImpl that represents the super class of JaxBeanInfo.jaxbType. |
flag, isNilIncluded, jaxbType| Modifier and Type | Method and Description |
|---|---|
BeanT |
createInstance(UnmarshallingContext context)
Creates a new instance of the bean.
|
String |
getElementLocalName(BeanT bean)
Returns the local name portion of the element name,
if the bean that this class represents is mapped from/to
an XML element.
|
String |
getElementNamespaceURI(BeanT bean)
Returns the namespace URI portion of the element name,
if the bean that this class represents is mapped from/to
an XML element.
|
String |
getId(BeanT bean,
XMLSerializer target)
Gets the ID value of the given bean, if it has an ID value.
|
Loader |
getLoader(JAXBContextImpl context,
boolean typeSubstitutionCapable)
Gets the
Loader that will unmarshall the given object. |
Transducer<BeanT> |
getTransducer()
If the bean's representation in XML is just a text,
this method return a
Transducer that lets you convert
values between the text and the bean. |
protected void |
link(JAXBContextImpl grammar)
Called after all the
JaxBeanInfos are created. |
boolean |
reset(BeanT bean,
UnmarshallingContext context)
Resets the object to the initial state, as if the object
is created fresh.
|
void |
serializeAttributes(BeanT bean,
XMLSerializer target)
Serializes attributes into the specified target.
|
void |
serializeBody(BeanT bean,
XMLSerializer target)
Serializes child elements and texts into the specified target.
|
void |
serializeRoot(BeanT bean,
XMLSerializer target)
Serializes the bean as the root element.
|
void |
serializeURIs(BeanT bean,
XMLSerializer target)
Declares all the namespace URIs this object is using at
its top-level scope into the specified target.
|
void |
wrapUp()
Called at the end of the
JAXBContext initialization phase
to clean up any unnecessary references. |
getLifecycleMethods, getTypeName, getTypeNames, hasAfterMarshalMethod, hasAfterUnmarshalMethod, hasBeforeMarshalMethod, hasBeforeUnmarshalMethod, hasElementOnlyContentModel, hasElementOnlyContentModel, invokeAfterUnmarshalMethod, invokeBeforeUnmarshalMethod, isElement, isImmutable, isNilIncluded, lookForLifecycleMethods, setLifecycleFlagsclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitisNilIncludedpublic final Property<BeanT>[] properties
public final ClassBeanInfoImpl<? super BeanT> superClazz
ClassBeanInfoImpl that represents the super class of JaxBeanInfo.jaxbType.protected void link(JAXBContextImpl grammar)
JaxBeanInfoJaxBeanInfos are created.link in class JaxBeanInfo<BeanT>public void wrapUp()
JaxBeanInfoJAXBContext initialization phase
to clean up any unnecessary references.wrapUp in class JaxBeanInfo<BeanT>public String getElementNamespaceURI(BeanT bean)
JaxBeanInfogetElementNamespaceURI in class JaxBeanInfo<BeanT>public String getElementLocalName(BeanT bean)
JaxBeanInfogetElementLocalName in class JaxBeanInfo<BeanT>public BeanT createInstance(UnmarshallingContext context) throws IllegalAccessException, InvocationTargetException, InstantiationException, SAXException
JaxBeanInfo
This operation is only supported when JaxBeanInfo.isImmutable() is false.
createInstance in class JaxBeanInfo<BeanT>context - Sometimes the created bean remembers the corresponding source location,IllegalAccessExceptionInvocationTargetExceptionInstantiationExceptionSAXExceptionpublic boolean reset(BeanT bean, UnmarshallingContext context) throws SAXException
JaxBeanInfoThis is used to reuse an existing object for unmarshalling.
reset in class JaxBeanInfo<BeanT>context - used for reporting any errors.If the object is resettable but failed by an error, it should be reported to the context, then return false. If the object is not resettable to begin with, do not report an error.
SAXException - as a result of reporting an error, the context may throw a SAXException.public String getId(BeanT bean, XMLSerializer target) throws SAXException
JaxBeanInfogetId in class JaxBeanInfo<BeanT>SAXExceptionpublic void serializeRoot(BeanT bean, XMLSerializer target) throws SAXException, IOException, XMLStreamException
JaxBeanInfoIn 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 JaxBeanInfo.serializeBody(Object, XMLSerializer).
serializeRoot in class JaxBeanInfo<BeanT>SAXExceptionIOExceptionXMLStreamExceptionpublic void serializeBody(BeanT bean, XMLSerializer target) throws SAXException, IOException, XMLStreamException
JaxBeanInfoserializeBody in class JaxBeanInfo<BeanT>SAXExceptionIOExceptionXMLStreamExceptionpublic void serializeAttributes(BeanT bean, XMLSerializer target) throws SAXException, IOException, XMLStreamException
JaxBeanInfoserializeAttributes in class JaxBeanInfo<BeanT>SAXExceptionIOExceptionXMLStreamExceptionpublic void serializeURIs(BeanT bean, XMLSerializer target) throws SAXException
JaxBeanInfoserializeURIs in class JaxBeanInfo<BeanT>SAXExceptionpublic Loader getLoader(JAXBContextImpl context, boolean typeSubstitutionCapable)
JaxBeanInfoLoader that will unmarshall the given object.getLoader in class JaxBeanInfo<BeanT>context - The JAXBContextImpl object that governs this object.
This object is taken as a parameter so that JaxBeanInfo doesn't have
to store them on its own.
When this method is invoked from within the unmarshaller, tihs parameter can be
null (because the loader is constructed already.)typeSubstitutionCapable - If true, the returned Loader is capable of recognizing @xsi:type (if necessary)
and unmarshals a subtype. This allowes an optimization where this bean info
is guaranteed not to have a type substitution.
If false, the returned Loader doesn't look for @xsi:type.public Transducer<BeanT> getTransducer()
JaxBeanInfoTransducer that lets you convert
values between the text and the bean.getTransducer in class JaxBeanInfo<BeanT>Copyright © 2017 JBoss by Red Hat. All rights reserved.