javax.xml.bind
Class JAXB

java.lang.Object
javax.xml.bind.JAXB

public final class JAXB

extends java.lang.Object

Class that defines convenience methods for common, simple use of JAXB.

Methods defined in this class are convenience methods that combine several basic operations
in the JAXBContext, Unmarshaller, and Marshaller.
They are designed
to be the prefered methods for developers new to JAXB. They have
the following characterstics:

Generally speaking, the performance is not necessarily optimal.
It is expected that people who need to write performance
critical code will use the rest of the JAXB API directly.

Errors that happen during the processing is wrapped into
DataBindingException (which will have JAXBException
as its cause. It is expected that
people who prefer the checked exception would use
the rest of the JAXB API directly.

In addition, the unmarshal methods have the following characteristic:

Schema validation is not performed on the input XML.
The processing will try to continue even if there
are errors in the XML, as much as possible. Only as
the last resort, this method fails with DataBindingException.

Similarly, the marshal methods have the following characteristic:

The processing will try to continue even if the Java object tree
does not meet the validity requirement. Only as
the last resort, this method fails with DataBindingException.

All the methods on this class require non-null arguments to all parameters.
The unmarshal methods either fail with an exception or return
a non-null value.

Author:

Kohsuke Kawaguchi

Since:

2.1

Method Summary

static void

marshal(java.lang.Object jaxbObject,
java.io.File xml)
Writes a Java object tree to XML and store it to the specified location.

static void

marshal(java.lang.Object jaxbObject,
java.io.OutputStream xml)
Writes a Java object tree to XML and store it to the specified location.

static void

marshal(java.lang.Object jaxbObject,
javax.xml.transform.Result xml)
Writes a Java object tree to XML and store it to the specified location.

static void

marshal(java.lang.Object jaxbObject,
java.lang.String xml)
Writes a Java object tree to XML and store it to the specified location.

static void

marshal(java.lang.Object jaxbObject,
java.net.URI xml)
Writes a Java object tree to XML and store it to the specified location.

static void

marshal(java.lang.Object jaxbObject,
java.net.URL xml)
Writes a Java object tree to XML and store it to the specified location.

static void

marshal(java.lang.Object jaxbObject,
java.io.Writer xml)
Writes a Java object tree to XML and store it to the specified location.

static

<T> T

unmarshal(java.io.File xml,
java.lang.Class<T> type)
Reads in a Java object tree from the given XML input.

static

<T> T

unmarshal(java.io.InputStream xml,
java.lang.Class<T> type)
Reads in a Java object tree from the given XML input.

static

<T> T

unmarshal(java.io.Reader xml,
java.lang.Class<T> type)
Reads in a Java object tree from the given XML input.

static

<T> T

unmarshal(javax.xml.transform.Source xml,
java.lang.Class<T> type)
Reads in a Java object tree from the given XML input.

static

<T> T

unmarshal(java.lang.String xml,
java.lang.Class<T> type)
Reads in a Java object tree from the given XML input.

static

<T> T

unmarshal(java.net.URI xml,
java.lang.Class<T> type)
Reads in a Java object tree from the given XML input.

static

<T> T

unmarshal(java.net.URL xml,
java.lang.Class<T> type)
Reads in a Java object tree from the given XML input.

marshal

Writes a Java object tree to XML and store it to the specified location.

Parameters:

jaxbObject - The Java object to be marshalled into XML. If this object is
a JAXBElement, it will provide the root tag name and
the body. If this object has XmlRootElement
on its class definition, that will be used as the root tag name
and the given object will provide the body. Otherwise,
the root tag name is infered from
the short class name.
This parameter must not be null.

xml - XML will be written to this file. If it already exists,
it will be overwritten.

marshal

Writes a Java object tree to XML and store it to the specified location.

Parameters:

jaxbObject - The Java object to be marshalled into XML. If this object is
a JAXBElement, it will provide the root tag name and
the body. If this object has XmlRootElement
on its class definition, that will be used as the root tag name
and the given object will provide the body. Otherwise,
the root tag name is infered from
the short class name.
This parameter must not be null.

xml - The XML will be sent to the
resource pointed by this URL. Note that not all URLs support
such operation, and exact semantics depends on the URL
implementations. In case of HTTP URLs,
this will perform HTTP POST.

marshal

Writes a Java object tree to XML and store it to the specified location.

Parameters:

jaxbObject - The Java object to be marshalled into XML. If this object is
a JAXBElement, it will provide the root tag name and
the body. If this object has XmlRootElement
on its class definition, that will be used as the root tag name
and the given object will provide the body. Otherwise,
the root tag name is infered from
the short class name.
This parameter must not be null.

xml - The URI is turned into URL and then
follows the handling of URL. See above.

marshal

Writes a Java object tree to XML and store it to the specified location.

Parameters:

jaxbObject - The Java object to be marshalled into XML. If this object is
a JAXBElement, it will provide the root tag name and
the body. If this object has XmlRootElement
on its class definition, that will be used as the root tag name
and the given object will provide the body. Otherwise,
the root tag name is infered from
the short class name.
This parameter must not be null.

xml - The string is first interpreted as an absolute URI.
If it's not a valid absolute URI,
then it's interpreted as a File

marshal

Writes a Java object tree to XML and store it to the specified location.

Parameters:

jaxbObject - The Java object to be marshalled into XML. If this object is
a JAXBElement, it will provide the root tag name and
the body. If this object has XmlRootElement
on its class definition, that will be used as the root tag name
and the given object will provide the body. Otherwise,
the root tag name is infered from
the short class name.
This parameter must not be null.

xml - The XML will be sent to the given OutputStream.
Upon a successful completion, the stream will be closed by this method.

marshal

Writes a Java object tree to XML and store it to the specified location.

Parameters:

jaxbObject - The Java object to be marshalled into XML. If this object is
a JAXBElement, it will provide the root tag name and
the body. If this object has XmlRootElement
on its class definition, that will be used as the root tag name
and the given object will provide the body. Otherwise,
the root tag name is infered from
the short class name.
This parameter must not be null.

xml - The XML will be sent as a character stream to the given Writer.
Upon a successful completion, the stream will be closed by this method.

marshal

Writes a Java object tree to XML and store it to the specified location.

Parameters:

jaxbObject - The Java object to be marshalled into XML. If this object is
a JAXBElement, it will provide the root tag name and
the body. If this object has XmlRootElement
on its class definition, that will be used as the root tag name
and the given object will provide the body. Otherwise,
the root tag name is infered from
the short class name.
This parameter must not be null.