Class JAXBResult

All Implemented Interfaces:
Result

public class JAXBResult
extends SAXResult

JAXP Result implementation that unmarshals a JAXB object.

This utility class is useful to combine JAXB with other Java/XML technologies.

The following example shows how to use JAXB to unmarshal a document resulting from an XSLT transformation.

JAXBResult result = new JAXBResult(
  JAXBContext.newInstance("org.acme.foo") );

// set up XSLT transformation
TransformerFactory tf = TransformerFactory.newInstance();
Transformer t = tf.newTransformer(new StreamSource("test.xsl"));

// run transformation
t.transform(new StreamSource("document.xml"),result);

// obtain the unmarshalled content tree
Object o = result.getResult();

The fact that JAXBResult derives from SAXResult is an implementation detail. Thus in general applications are strongly discouraged from accessing methods defined on SAXResult.

In particular it shall never attempt to call the setHandler, setLexicalHandler, and setSystemId methods.

Fields

Fields inherited from class javax.xml.transform.sax.SAXResult

FEATURE

Fields inherited from interface javax.xml.transform.Result

PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING

Constructors

Constructor and Description
JAXBResult(JAXBContext context)

Creates a new instance that uses the specified JAXBContext to unmarshal.

JAXBResult(Unmarshaller _unmarshaller)

Creates a new instance that uses the specified Unmarshaller to unmarshal an object.

Methods

Modifier and Type Method and Description
Object getResult()

Gets the unmarshalled object created by the transformation.

Methods inherited from class javax.xml.transform.sax.SAXResult

getHandler, getLexicalHandler, getSystemId, setHandler, setLexicalHandler, setSystemId

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructors

JAXBResult

public JAXBResult(JAXBContext context)
           throws JAXBException

Creates a new instance that uses the specified JAXBContext to unmarshal.

Parameters:
context - The JAXBContext that will be used to create the necessary Unmarshaller. This parameter must not be null.
Throws:
JAXBException - if an error is encountered while creating the JAXBResult or if the context parameter is null.

JAXBResult

public JAXBResult(Unmarshaller _unmarshaller)
           throws JAXBException

Creates a new instance that uses the specified Unmarshaller to unmarshal an object.

This JAXBResult object will use the specified Unmarshaller instance. It is the caller's responsibility not to use the same Unmarshaller for other purposes while it is being used by this object.

The primary purpose of this method is to allow the client to configure Unmarshaller. Unless you know what you are doing, it's easier and safer to pass a JAXBContext.

Parameters:
_unmarshaller - the unmarshaller. This parameter must not be null.
Throws:
JAXBException - if an error is encountered while creating the JAXBResult or the Unmarshaller parameter is null.

Methods

getResult

public Object getResult()
                 throws JAXBException

Gets the unmarshalled object created by the transformation.

Returns:
Always return a non-null object.
Throws:
IllegalStateException - if this method is called before an object is unmarshalled.
JAXBException - if there is any unmarshalling error. Note that the implementation is allowed to throw SAXException during the parsing when it finds an error.

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/javase/8/docs/api/javax/xml/bind/util/JAXBResult.html