public class JAXBResult
extends javax.xml.transform.sax.SAXResult
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.
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.
|
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
getResult()
Gets the unmarshalled object created by the transformation.
|
public JAXBResult(JAXBContext context) throws JAXBException
context
- The JAXBContext that will be used to create the
necessary Unmarshaller. This parameter must not be null.JAXBException
- if an error is encountered while creating the
JAXBResult or if the context parameter is null.public JAXBResult(Unmarshaller _unmarshaller) throws JAXBException
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.
_unmarshaller
- the unmarshaller. This parameter must not be null.JAXBException
- if an error is encountered while creating the
JAXBResult or the Unmarshaller parameter is null.public java.lang.Object getResult() throws JAXBException
java.lang.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.