Methods Summary |
---|
public A | getAdapter(java.lang.Class type)Gets the adapter associated with the specified type.
This is the reverse operation of the {@link #setAdapter} method.
|
public javax.xml.bind.attachment.AttachmentUnmarshaller | getAttachmentUnmarshaller()
|
public javax.xml.bind.ValidationEventHandler | getEventHandler()Return the current event handler or the default event handler if one
hasn't been set.
|
public javax.xml.bind.Unmarshaller$Listener | getListener()Return {@link Listener} registered with this {@link Unmarshaller}.
|
public java.lang.Object | getProperty(java.lang.String name)Get the particular property in the underlying implementation of
Unmarshaller. This method can only be used to get one of
the standard JAXB defined properties above or a provider specific
property. Attempting to get an undefined property will result in
a PropertyException being thrown. See
Supported Properties.
|
public javax.xml.validation.Schema | getSchema()Get the JAXP 1.3 {@link javax.xml.validation.Schema Schema} object
being used to perform unmarshal-time validation. If there is no
Schema set on the unmarshaller, then this method will return null
indicating that unmarshal-time validation will not be performed.
This method provides replacement functionality for the deprecated
{@link #isValidating()} API as well as access to the Schema object.
To determine if the Unmarshaller has validation enabled, simply
test the return type for null:
boolean isValidating = u.getSchema()!=null;
|
public javax.xml.bind.UnmarshallerHandler | getUnmarshallerHandler()Get an unmarshaller handler object that can be used as a component in
an XML pipeline.
The JAXB Provider can return the same handler object for multiple
invocations of this method. In other words, this method does not
necessarily create a new instance of UnmarshallerHandler. If the
application needs to use more than one UnmarshallerHandler, it
should create more than one Unmarshaller.
|
public boolean | isValidating()Indicates whether or not the Unmarshaller is configured to
validate during unmarshal operations.
This API returns the state of the JAXB Provider's default unmarshal-time
validation mechanism.
This method is deprecated as of JAXB 2.0 - please use the new
{@link #getSchema()} API.
|
public void | setAdapter(javax.xml.bind.annotation.adapters.XmlAdapter adapter)Associates a configured instance of {@link XmlAdapter} with this unmarshaller.
This is a convenience method that invokes setAdapter(adapter.getClass(),adapter); .
|
public void | setAdapter(java.lang.Class type, A adapter)Associates a configured instance of {@link XmlAdapter} with this unmarshaller.
Every unmarshaller internally maintains a
{@link java.util.Map}<{@link Class},{@link XmlAdapter}>,
which it uses for unmarshalling classes whose fields/methods are annotated
with {@link javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter}.
This method allows applications to use a configured instance of {@link XmlAdapter}.
When an instance of an adapter is not given, an unmarshaller will create
one by invoking its default constructor.
|
public void | setAttachmentUnmarshaller(javax.xml.bind.attachment.AttachmentUnmarshaller au)Associate a context that resolves cid's, content-id URIs, to
binary data passed as attachments.
Unmarshal time validation, enabled via {@link #setSchema(Schema)},
must be supported even when unmarshaller is performing XOP processing.
|
public void | setEventHandler(javax.xml.bind.ValidationEventHandler handler)Allow an application to register a ValidationEventHandler.
The ValidationEventHandler will be called by the JAXB Provider
if any validation errors are encountered during calls to any of the
unmarshal methods. If the client application does not register a
ValidationEventHandler before invoking the unmarshal methods,
then ValidationEvents will be handled by the default event
handler which will terminate the unmarshal operation after the first
error or fatal error is encountered.
Calling this method with a null parameter will cause the Unmarshaller
to revert back to the default event handler.
|
public void | setListener(javax.xml.bind.Unmarshaller$Listener listener)
Register unmarshal event callback {@link Listener} with this {@link Unmarshaller}.
There is only one Listener per Unmarshaller. Setting a Listener replaces the previous set Listener.
One can unregister current Listener by setting listener to null.
|
public void | setProperty(java.lang.String name, java.lang.Object value)Set the particular property in the underlying implementation of
Unmarshaller. This method can only be used to set one of
the standard JAXB defined properties above or a provider specific
property. Attempting to set an undefined property will result in
a PropertyException being thrown. See
Supported Properties.
|
public void | setSchema(javax.xml.validation.Schema schema)Specify the JAXP 1.3 {@link javax.xml.validation.Schema Schema}
object that should be used to validate subsequent unmarshal operations
against. Passing null into this method will disable validation.
This method replaces the deprecated {@link #setValidating(boolean) setValidating(boolean)}
API.
Initially this property is set to null.
|
public void | setValidating(boolean validating)Specifies whether or not the default validation mechanism of the
Unmarshaller should validate during unmarshal operations.
By default, the Unmarshaller does not validate.
This method may only be invoked before or after calling one of the
unmarshal methods.
This method only controls the JAXB Provider's default unmarshal-time
validation mechanism - it has no impact on clients that specify their
own validating SAX 2.0 compliant parser. Clients that specify their
own unmarshal-time validation mechanism may wish to turn off the JAXB
Provider's default validation mechanism via this API to avoid "double
validation".
This method is deprecated as of JAXB 2.0 - please use the new
{@link #setSchema(javax.xml.validation.Schema)} API.
|
public java.lang.Object | unmarshal(java.io.File f)Unmarshal XML data from the specified file and return the resulting
content tree.
Implements Unmarshal Global Root Element.
|
public java.lang.Object | unmarshal(javax.xml.stream.XMLStreamReader reader)Unmarshal XML data from the specified pull parser and return the
resulting content tree.
Implements Unmarshal Global Root Element.
This method assumes that the parser is on a START_DOCUMENT or
START_ELEMENT event. Unmarshalling will be done from this
start event to the corresponding end event. If this method
returns successfully, the reader will be pointing at
the token right after the end event.
|
public javax.xml.bind.JAXBElement | unmarshal(javax.xml.stream.XMLStreamReader reader, java.lang.Class declaredType)Unmarshal root element to JAXB mapped declaredType
and return the resulting content tree.
This method implements unmarshal by declaredType.
This method assumes that the parser is on a START_DOCUMENT or
START_ELEMENT event. Unmarshalling will be done from this
start event to the corresponding end event. If this method
returns successfully, the reader will be pointing at
the token right after the end event.
|
public java.lang.Object | unmarshal(javax.xml.stream.XMLEventReader reader)Unmarshal XML data from the specified pull parser and return the
resulting content tree.
This method is an Unmarshal Global Root method.
This method assumes that the parser is on a START_DOCUMENT or
START_ELEMENT event. Unmarshalling will be done from this
start event to the corresponding end event. If this method
returns successfully, the reader will be pointing at
the token right after the end event.
|
public javax.xml.bind.JAXBElement | unmarshal(javax.xml.stream.XMLEventReader reader, java.lang.Class declaredType)Unmarshal root element to JAXB mapped declaredType
and return the resulting content tree.
This method implements unmarshal by declaredType.
This method assumes that the parser is on a START_DOCUMENT or
START_ELEMENT event. Unmarshalling will be done from this
start event to the corresponding end event. If this method
returns successfully, the reader will be pointing at
the token right after the end event.
|
public java.lang.Object | unmarshal(java.io.InputStream is)Unmarshal XML data from the specified InputStream and return the
resulting content tree. Validation event location information may
be incomplete when using this form of the unmarshal API.
Implements Unmarshal Global Root Element.
|
public java.lang.Object | unmarshal(java.io.Reader reader)Unmarshal XML data from the specified Reader and return the
resulting content tree. Validation event location information may
be incomplete when using this form of the unmarshal API,
because a Reader does not provide the system ID.
Implements Unmarshal Global Root Element.
|
public java.lang.Object | unmarshal(java.net.URL url)Unmarshal XML data from the specified URL and return the resulting
content tree.
Implements Unmarshal Global Root Element.
|
public java.lang.Object | unmarshal(org.xml.sax.InputSource source)Unmarshal XML data from the specified SAX InputSource and return the
resulting content tree.
Implements Unmarshal Global Root Element.
|
public java.lang.Object | unmarshal(org.w3c.dom.Node node)Unmarshal global XML data from the specified DOM tree and return the resulting
content tree.
Implements Unmarshal Global Root Element.
|
public javax.xml.bind.JAXBElement | unmarshal(org.w3c.dom.Node node, java.lang.Class declaredType)Unmarshal XML data by JAXB mapped declaredType
and return the resulting content tree.
Implements Unmarshal by Declared Type
|
public java.lang.Object | unmarshal(javax.xml.transform.Source source)Unmarshal XML data from the specified XML Source and return the
resulting content tree.
Implements Unmarshal Global Root Element.
SAX 2.0 Parser Pluggability
A client application can choose not to use the default parser mechanism
supplied with their JAXB provider. Any SAX 2.0 compliant parser can be
substituted for the JAXB provider's default mechanism. To do so, the
client application must properly configure a SAXSource containing
an XMLReader implemented by the SAX 2.0 parser provider. If the
XMLReader has an org.xml.sax.ErrorHandler registered
on it, it will be replaced by the JAXB Provider so that validation errors
can be reported via the ValidationEventHandler mechanism of
JAXB. If the SAXSource does not contain an XMLReader,
then the JAXB provider's default parser mechanism will be used.
This parser replacement mechanism can also be used to replace the JAXB
provider's unmarshal-time validation engine. The client application
must properly configure their SAX 2.0 compliant parser to perform
validation (as shown in the example above). Any SAXParserExceptions
encountered by the parser during the unmarshal operation will be
processed by the JAXB provider and converted into JAXB
ValidationEvent objects which will be reported back to the
client via the ValidationEventHandler registered with the
Unmarshaller. Note: specifying a substitute validating
SAX 2.0 parser for unmarshalling does not necessarily replace the
validation engine used by the JAXB provider for performing on-demand
validation.
The only way for a client application to specify an alternate parser
mechanism to be used during unmarshal is via the
unmarshal(SAXSource) API. All other forms of the unmarshal
method (File, URL, Node, etc) will use the JAXB provider's default
parser and validator mechanisms.
|
public javax.xml.bind.JAXBElement | unmarshal(javax.xml.transform.Source source, java.lang.Class declaredType)Unmarshal XML data from the specified XML Source by declaredType and return the
resulting content tree.
Implements Unmarshal by Declared Type
See SAX 2.0 Parser Pluggability
|