public abstract class AbstractMarshallerImpl extends Objectimplements Marshaller
This class provides a partial default implementation for the Marshaller interface.
The only methods that a JAXB Provider has to implement are marshal(Object, javax.xml.transform.Result), marshal(Object, javax.xml.stream.XMLStreamWriter), and marshal(Object, javax.xml.stream.XMLEventWriter).
Marshaller
Marshaller.Listener JAXB_ENCODING, JAXB_FORMATTED_OUTPUT, JAXB_FRAGMENT, JAXB_NO_NAMESPACE_SCHEMA_LOCATION, JAXB_SCHEMA_LOCATION| Constructor and Description |
|---|
AbstractMarshallerImpl()
|
| Modifier and Type | Method and Description |
|---|---|
<A extends XmlAdapter |
getAdapter(Class
Gets the adapter associated with the specified type.
|
AttachmentMarshaller |
getAttachmentMarshaller()
|
protected String |
getEncoding()
Convenience method for getting the current output encoding.
|
ValidationEventHandler |
getEventHandler()
Return the current event handler or the default event handler if one hasn't been set.
|
protected String |
getJavaEncoding(String
Gets the corresponding Java encoding name from an IANA name.
|
Marshaller |
getListener()
Return
Marshaller.Listener registered with this
Marshaller.
|
Node |
getNode(Object
By default, the getNode method is unsupported and throw an
UnsupportedOperationException.
|
protected String |
getNoNSSchemaLocation()
Convenience method for getting the current noNamespaceSchemaLocation.
|
Object |
getProperty(String
Default implementation of the getProperty method handles the four defined properties in Marshaller.
|
Schema |
getSchema()
Get the JAXP 1.3
Schema object being used to perform marshal-time validation.
|
protected String |
getSchemaLocation()
Convenience method for getting the current schemaLocation.
|
protected boolean |
isFormattedOutput()
Convenience method for getting the formatted output flag.
|
protected boolean |
isFragment()
Convenience method for getting the fragment flag.
|
void |
marshal(Object
Marshal the content tree rooted at
jaxbElement into SAX2 events.
|
void |
marshal(Object
Marshal the content tree rooted at
jaxbElement into a file.
|
void |
marshal(Object
Marshal the content tree rooted at
jaxbElement into a DOM tree.
|
void |
marshal(Object
Marshal the content tree rooted at
jaxbElement into an output stream.
|
void |
marshal(Object
Marshal the content tree rooted at
jaxbElement into a Writer.
|
void |
marshal(Object
Marshal the content tree rooted at
jaxbElement into a
XMLEventWriter.
|
void |
marshal(Object
Marshal the content tree rooted at
jaxbElement into a
XMLStreamWriter.
|
<A extends XmlAdapter |
setAdapter(Class
Associates a configured instance of
XmlAdapter with this marshaller.
|
void |
setAdapter(XmlAdapter
Associates a configured instance of
XmlAdapter with this marshaller.
|
void |
setAttachmentMarshaller(AttachmentMarshaller
Associate a context that enables binary data within an XML document to be transmitted as XML-binary optimized attachment.
|
protected void |
setEncoding(String
Convenience method for setting the output encoding.
|
void |
setEventHandler(ValidationEventHandler
Allow an application to register a validation event handler.
|
protected void |
setFormattedOutput(boolean v)
Convenience method for setting the formatted output flag.
|
protected void |
setFragment(boolean v)
Convenience method for setting the fragment flag.
|
void |
setListener(Marshaller
Register marshal event callback
Marshaller.Listener with this
Marshaller.
|
protected void |
setNoNSSchemaLocation(String
Convenience method for setting the noNamespaceSchemaLocation.
|
void |
setProperty(String
Default implementation of the setProperty method handles the four defined properties in Marshaller.
|
void |
setSchema(Schema
Specify the JAXP 1.3
Schema object that should be used to validate subsequent marshal operations against.
|
protected void |
setSchemaLocation(String
Convenience method for setting the schemaLocation.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitmarshalpublic final void marshal(Objectobj, OutputStream os) throws JAXBException
Marshaller
marshal in interface
Marshaller
obj - The root of content tree to be marshalled.
os - XML will be added to this stream.
JAXBException - If any unexpected problem occurs during the marshalling.
MarshalException - If the
ValidationEventHandler returns false from its
handleEvent method or the
Marshaller is unable to marshal
obj (or any object reachable from
obj). See
Marshalling a JAXB element.
public void marshal(ObjectjaxbElement, File output) throws JAXBException
Marshaller
marshal in interface
Marshaller
jaxbElement - The root of content tree to be marshalled.
output - File to be written. If this file already exists, it will be overwritten.
JAXBException - If any unexpected problem occurs during the marshalling.
MarshalException - If the
ValidationEventHandler returns false from its
handleEvent method or the
Marshaller is unable to marshal
obj (or any object reachable from
obj). See
Marshalling a JAXB element.
public final void marshal(Objectobj, Writer w) throws JAXBException
Marshaller
marshal in interface
Marshaller
obj - The root of content tree to be marshalled.
w - XML will be sent to this writer.
JAXBException - If any unexpected problem occurs during the marshalling.
MarshalException - If the
ValidationEventHandler returns false from its
handleEvent method or the
Marshaller is unable to marshal
obj (or any object reachable from
obj). See
Marshalling a JAXB element.
public final void marshal(Objectobj, ContentHandler handler) throws JAXBException
Marshaller
marshal in interface
Marshaller
obj - The root of content tree to be marshalled.
handler - XML will be sent to this handler as SAX2 events.
JAXBException - If any unexpected problem occurs during the marshalling.
MarshalException - If the
ValidationEventHandler returns false from its
handleEvent method or the
Marshaller is unable to marshal
obj (or any object reachable from
obj). See
Marshalling a JAXB element.
public final void marshal(Objectobj, Node node) throws JAXBException
Marshaller
marshal in interface
Marshaller
obj - The content tree to be marshalled.
node - DOM nodes will be added as children of this node. This parameter must be a Node that accepts children (
Document,
DocumentFragment, or
Element)
JAXBException - If any unexpected problem occurs during the marshalling.
MarshalException - If the
ValidationEventHandler returns false from its
handleEvent method or the
Marshaller is unable to marshal
jaxbElement (or any object reachable from
jaxbElement). See
Marshalling a JAXB element.
public NodegetNode(Object obj) throws JAXBException
UnsupportedOperationException. Implementations that choose to support this method must override this method.
getNode in interface
Marshaller
obj - - JAXB Java representation of XML content
JAXBException - If any unexpected problem occurs
protected StringgetEncoding()
protected void setEncoding(Stringencoding)
encoding - a valid encoding as specified in the Marshaller class documentation
protected StringgetSchemaLocation()
protected void setSchemaLocation(Stringlocation)
location - the schemaLocation value
protected StringgetNoNSSchemaLocation()
protected void setNoNSSchemaLocation(Stringlocation)
location - the noNamespaceSchemaLocation value
protected boolean isFormattedOutput()
protected void setFormattedOutput(boolean v)
v - value of the formatted output flag.
protected boolean isFragment()
protected void setFragment(boolean v)
v - value of the fragment flag.
protected StringgetJavaEncoding(String encoding) throws UnsupportedEncodingException
UnsupportedEncodingException - If this implementation couldn't find the Java encoding name.
public void setProperty(Stringname, Object value) throws PropertyException
setProperty in interface
Marshaller
name - the name of the property to be set. This value can either be specified using one of the constant fields or a user supplied string.
value - the value of the property to be set
PropertyException - when there is an error processing the given property or value
public ObjectgetProperty(String name) throws PropertyException
getProperty in interface
Marshaller
name - the name of the property to retrieve
PropertyException - when there is an error retrieving the given property or value property name
public ValidationEventHandlergetEventHandler() throws JAXBException
Marshaller
getEventHandler in interface
Marshaller
JAXBException - if an error was encountered while getting the current event handler
Marshaller.getEventHandler()
public void setEventHandler(ValidationEventHandlerhandler) throws JAXBException
Marshaller
The validation event handler will be called by the JAXB Provider if any validation errors are encountered during calls to any of the marshal API's. If the client application does not register a validation event handler before invoking one of the marshal methods, then validation events will be handled by the default event handler which will terminate the marshal operation after the first error or fatal error is encountered.
Calling this method with a null parameter will cause the Marshaller to revert back to the default default event handler.
setEventHandler in interface
Marshaller
handler - the validation event handler
JAXBException - if an error was encountered while setting the event handler
Marshaller.setEventHandler(ValidationEventHandler)
public void marshal(Objectobj, XMLEventWriter writer) throws JAXBException
Marshaller
XMLEventWriter.
marshal in interface
Marshaller
obj - The content tree rooted at jaxbElement to be marshalled.
writer - XML will be sent to this writer.
JAXBException - If any unexpected problem occurs during the marshalling.
MarshalException - If the
ValidationEventHandler returns false from its
handleEvent method or the
Marshaller is unable to marshal
obj (or any object reachable from
obj). See
Marshalling a JAXB element.
public void marshal(Objectobj, XMLStreamWriter writer) throws JAXBException
Marshaller
XMLStreamWriter.
marshal in interface
Marshaller
obj - The content tree to be marshalled.
writer - XML will be sent to this writer.
JAXBException - If any unexpected problem occurs during the marshalling.
MarshalException - If the
ValidationEventHandler returns false from its
handleEvent method or the
Marshaller is unable to marshal
obj (or any object reachable from
obj). See
Marshalling a JAXB element.
public void setSchema(Schemaschema)
Marshaller
Schema object that should be used to validate subsequent marshal operations against. Passing null into this method will disable validation.
This method allows the caller to validate the marshalled XML as it's marshalled.
Initially this property is set to null.
setSchema in interface
Marshaller
schema - Schema object to validate marshal operations against or null to disable validation
public SchemagetSchema()
Marshaller
Schema object being used to perform marshal-time validation. If there is no Schema set on the marshaller, then this method will return null indicating that marshal-time validation will not be performed.
getSchema in interface
Marshaller
public void setAdapter(XmlAdapteradapter)
Marshaller
XmlAdapter with this marshaller.
This is a convenience method that invokes setAdapter(adapter.getClass(),adapter);.
setAdapter in interface
Marshaller
Marshaller.setAdapter(Class,XmlAdapter)
public <A extends XmlAdapter> void setAdapter(Class <A> type, A adapter)
Marshaller
XmlAdapter with this marshaller.
Every marshaller internally maintains a Map<Class,XmlAdapter>, which it uses for marshalling classes whose fields/methods are annotated with XmlJavaTypeAdapter.
This method allows applications to use a configured instance of XmlAdapter. When an instance of an adapter is not given, a marshaller will create one by invoking its default constructor.
setAdapter in interface
Marshaller
type - The type of the adapter. The specified instance will be used when
XmlJavaTypeAdapter.value() refers to this type.
adapter - The instance of the adapter to be used. If null, it will un-register the current adapter set for this type.
public <A extends XmlAdapter> A getAdapter(Class <A> type)
Marshaller
Marshaller.setAdapter(javax.xml.bind.annotation.adapters.XmlAdapter) method.
public void setAttachmentMarshaller(AttachmentMarshalleram)
Marshaller
Associate a context that enables binary data within an XML document to be transmitted as XML-binary optimized attachment. The attachment is referenced from the XML document content model by content-id URIs(cid) references stored within the xml document.
public AttachmentMarshallergetAttachmentMarshaller()
public void setListener(Marshaller.Listener listener)
Marshaller
Register marshal event callback Marshaller.Listener with this Marshaller.
There is only one Listener per Marshaller. Setting a Listener replaces the previous set Listener. One can unregister current Listener by setting listener to null.
setListener in interface
Marshaller
listener - an instance of a class that implements
Marshaller.Listener
public Marshaller.Listener getListener()
Marshaller
Return Marshaller.Listener registered with this Marshaller.
getListener in interface
Marshaller
Marshaller.Listener or
null if no Listener is registered with this Marshaller.