|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sun.xml.bind.v2.runtime.JaxBeanInfo<javax.xml.bind.JAXBElement>
com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl
public final class ElementBeanInfoImpl
JaxBeanInfo
implementation for RuntimeElementInfo
.
Field Summary | |
---|---|
java.lang.Class |
expectedType
|
Fields inherited from class com.sun.xml.bind.v2.runtime.JaxBeanInfo |
---|
flag, isNilIncluded, jaxbType |
Constructor Summary | |
---|---|
protected |
ElementBeanInfoImpl(JAXBContextImpl grammar)
The constructor for the sole instanceof JaxBeanInfo for
handling user-created JAXBElement . |
(package private) |
ElementBeanInfoImpl(JAXBContextImpl grammar,
RuntimeElementInfo rei)
|
Method Summary | |
---|---|
javax.xml.bind.JAXBElement |
createInstance(UnmarshallingContext context)
Creates a new instance of the bean. |
javax.xml.bind.JAXBElement |
createInstanceFromValue(java.lang.Object o)
|
java.lang.String |
getElementLocalName(javax.xml.bind.JAXBElement e)
Returns the local name portion of the element name, if the bean that this class represents is mapped from/to an XML element. |
java.lang.String |
getElementNamespaceURI(javax.xml.bind.JAXBElement e)
Returns the namespace URI portion of the element name, if the bean that this class represents is mapped from/to an XML element. |
java.lang.String |
getId(javax.xml.bind.JAXBElement e,
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<javax.xml.bind.JAXBElement> |
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. |
void |
link(JAXBContextImpl grammar)
Called after all the JaxBeanInfo s are created. |
boolean |
reset(javax.xml.bind.JAXBElement e,
UnmarshallingContext context)
Resets the object to the initial state, as if the object is created fresh. |
void |
serializeAttributes(javax.xml.bind.JAXBElement e,
XMLSerializer target)
Serializes attributes into the specified target. |
void |
serializeBody(javax.xml.bind.JAXBElement element,
XMLSerializer target)
Serializes child elements and texts into the specified target. |
void |
serializeRoot(javax.xml.bind.JAXBElement e,
XMLSerializer target)
Serializes the bean as the root element. |
void |
serializeURIs(javax.xml.bind.JAXBElement e,
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. |
Methods inherited from class com.sun.xml.bind.v2.runtime.JaxBeanInfo |
---|
getLifecycleMethods, getTypeName, getTypeNames, hasAfterMarshalMethod, hasAfterUnmarshalMethod, hasBeforeMarshalMethod, hasBeforeUnmarshalMethod, hasElementOnlyContentModel, hasElementOnlyContentModel, invokeAfterUnmarshalMethod, invokeBeforeUnmarshalMethod, isElement, isImmutable, isNilIncluded, lookForLifecycleMethods, setLifecycleFlags |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public final java.lang.Class expectedType
Constructor Detail |
---|
ElementBeanInfoImpl(JAXBContextImpl grammar, RuntimeElementInfo rei)
protected ElementBeanInfoImpl(JAXBContextImpl grammar)
JaxBeanInfo
for
handling user-created JAXBElement
.
Such JaxBeanInfo
is used only for marshalling.
This is a hack.
Method Detail |
---|
public java.lang.String getElementNamespaceURI(javax.xml.bind.JAXBElement e)
JaxBeanInfo
getElementNamespaceURI
in class JaxBeanInfo<javax.xml.bind.JAXBElement>
public java.lang.String getElementLocalName(javax.xml.bind.JAXBElement e)
JaxBeanInfo
getElementLocalName
in class JaxBeanInfo<javax.xml.bind.JAXBElement>
public Loader getLoader(JAXBContextImpl context, boolean typeSubstitutionCapable)
JaxBeanInfo
Loader
that will unmarshall the given object.
getLoader
in class JaxBeanInfo<javax.xml.bind.JAXBElement>
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 final javax.xml.bind.JAXBElement createInstance(UnmarshallingContext context) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.InstantiationException
JaxBeanInfo
This operation is only supported when JaxBeanInfo.isImmutable()
is false.
createInstance
in class JaxBeanInfo<javax.xml.bind.JAXBElement>
context
- Sometimes the created bean remembers the corresponding source location,
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
java.lang.InstantiationException
public final javax.xml.bind.JAXBElement createInstanceFromValue(java.lang.Object o) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
java.lang.InstantiationException
public boolean reset(javax.xml.bind.JAXBElement e, UnmarshallingContext context)
JaxBeanInfo
This is used to reuse an existing object for unmarshalling.
reset
in class JaxBeanInfo<javax.xml.bind.JAXBElement>
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.
public java.lang.String getId(javax.xml.bind.JAXBElement e, XMLSerializer target)
JaxBeanInfo
getId
in class JaxBeanInfo<javax.xml.bind.JAXBElement>
public void serializeBody(javax.xml.bind.JAXBElement element, XMLSerializer target) throws org.xml.sax.SAXException, java.io.IOException, javax.xml.stream.XMLStreamException
JaxBeanInfo
serializeBody
in class JaxBeanInfo<javax.xml.bind.JAXBElement>
org.xml.sax.SAXException
java.io.IOException
javax.xml.stream.XMLStreamException
public void serializeRoot(javax.xml.bind.JAXBElement e, XMLSerializer target) throws org.xml.sax.SAXException, java.io.IOException, javax.xml.stream.XMLStreamException
JaxBeanInfo
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 JaxBeanInfo.serializeBody(Object, XMLSerializer)
.
serializeRoot
in class JaxBeanInfo<javax.xml.bind.JAXBElement>
org.xml.sax.SAXException
java.io.IOException
javax.xml.stream.XMLStreamException
public void serializeAttributes(javax.xml.bind.JAXBElement e, XMLSerializer target)
JaxBeanInfo
serializeAttributes
in class JaxBeanInfo<javax.xml.bind.JAXBElement>
public void serializeURIs(javax.xml.bind.JAXBElement e, XMLSerializer target)
JaxBeanInfo
serializeURIs
in class JaxBeanInfo<javax.xml.bind.JAXBElement>
public final Transducer<javax.xml.bind.JAXBElement> getTransducer()
JaxBeanInfo
Transducer
that lets you convert
values between the text and the bean.
getTransducer
in class JaxBeanInfo<javax.xml.bind.JAXBElement>
public void wrapUp()
JaxBeanInfo
JAXBContext
initialization phase
to clean up any unnecessary references.
wrapUp
in class JaxBeanInfo<javax.xml.bind.JAXBElement>
public void link(JAXBContextImpl grammar)
JaxBeanInfo
JaxBeanInfo
s are created.
link
in class JaxBeanInfo<javax.xml.bind.JAXBElement>
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |