Top Description Fields Constructors Methods
javax.xml.bind.util

public Class JAXBResult

extends SAXResult
Class Inheritance
Imports
javax.xml.bind.JAXBContext, .JAXBException, .Unmarshaller, .UnmarshallerHandler, javax.xml.transform.sax.SAXResult

JAXP javax.xml.transform.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.

Author
Kohsuke Kawaguchi ([email protected])
Since
1.6

Field Summary

Modifier and TypeField and Description
private final UnmarshallerHandler
unmarshallerHandler

Unmarshaller that will be used to unmarshal the input documents.

Inherited from javax.xml.transform.sax.SAXResult:
FEATURE

Constructor Summary

AccessConstructor and Description
public
JAXBResult(JAXBContext
The JAXBContext that will be used to create the necessary Unmarshaller. This parameter must not be null.
context
)

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

public
JAXBResult(Unmarshaller
the unmarshaller. This parameter must not be null.
_unmarshaller
)

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

Method Summary

Modifier and TypeMethod and Description
private static Unmarshaller
assertionFailed()

Hook to throw exception from the middle of a contructor chained call to this

public Object

Returns:

Always return a non-null object.
getResult
()

Gets the unmarshalled object created by the transformation.

Inherited from javax.xml.transform.sax.SAXResult:
getHandlergetLexicalHandlergetSystemIdsetHandlersetLexicalHandlersetSystemId

Field Detail

unmarshallerHandlerback to summary
private final UnmarshallerHandler unmarshallerHandler

Unmarshaller that will be used to unmarshal the input documents.

Constructor Detail

JAXBResultback to summary
public JAXBResult(JAXBContext context) throws JAXBException

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

Parameters
context:JAXBContext

The JAXBContext that will be used to create the necessary Unmarshaller. This parameter must not be null.

Exceptions
JAXBException:
if an error is encountered while creating the JAXBResult or if the context parameter is null.
JAXBResultback to summary
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:Unmarshaller

the unmarshaller. This parameter must not be null.

Exceptions
JAXBException:
if an error is encountered while creating the JAXBResult or the Unmarshaller parameter is null.

Method Detail

assertionFailedback to summary
private static Unmarshaller assertionFailed() throws JAXBException

Hook to throw exception from the middle of a contructor chained call to this

getResultback to summary
public Object getResult() throws JAXBException

Gets the unmarshalled object created by the transformation.

Returns:Object

Always return a non-null object.

Exceptions
JAXBException:
if there is any unmarshalling error. Note that the implementation is allowed to throw SAXException during the parsing when it finds an error.
IllegalStateException:
if this method is called before an object is unmarshalled.