public abstract class AbstractMarshallerImpl extends Object implements 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).
MarshallerMarshaller.ListenerJAXB_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<A> type)
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 encoding)
Gets the corresponding Java encoding name from an IANA name.
|
Marshaller.Listener |
getListener()
Return
Marshaller.Listener registered with this Marshaller. |
Node |
getNode(Object obj)
By default, the getNode method is unsupported and throw
an
UnsupportedOperationException. |
protected String |
getNoNSSchemaLocation()
Convenience method for getting the current noNamespaceSchemaLocation.
|
Object |
getProperty(String name)
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 obj,
ContentHandler handler)
Marshal the content tree rooted at jaxbElement into SAX2 events.
|
void |
marshal(Object jaxbElement,
File output)
Marshal the content tree rooted at jaxbElement into a file.
|
void |
marshal(Object obj,
Node node)
Marshal the content tree rooted at jaxbElement into a DOM tree.
|
void |
marshal(Object obj,
OutputStream os)
Marshal the content tree rooted at jaxbElement into an output stream.
|
void |
marshal(Object obj,
Writer w)
Marshal the content tree rooted at jaxbElement into a Writer.
|
void |
marshal(Object obj,
XMLEventWriter writer)
Marshal the content tree rooted at jaxbElement into a
XMLEventWriter. |
void |
marshal(Object obj,
XMLStreamWriter writer)
Marshal the content tree rooted at jaxbElement into a
XMLStreamWriter. |
<A extends XmlAdapter> |
setAdapter(Class<A> type,
A adapter)
Associates a configured instance of
XmlAdapter with this marshaller. |
void |
setAdapter(XmlAdapter adapter)
Associates a configured instance of
XmlAdapter with this marshaller. |
void |
setAttachmentMarshaller(AttachmentMarshaller am)
Associate a context that enables binary data within an XML document
to be transmitted as XML-binary optimized attachment.
|
protected void |
setEncoding(String encoding)
Convenience method for setting the output encoding.
|
void |
setEventHandler(ValidationEventHandler handler)
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.Listener listener)
Register marshal event callback
Marshaller.Listener with this Marshaller. |
protected void |
setNoNSSchemaLocation(String location)
Convenience method for setting the noNamespaceSchemaLocation.
|
void |
setProperty(String name,
Object value)
Default implementation of the setProperty method handles
the four defined properties in Marshaller.
|
void |
setSchema(Schema schema)
Specify the JAXP 1.3
Schema
object that should be used to validate subsequent marshal operations
against. |
protected void |
setSchemaLocation(String location)
Convenience method for setting the schemaLocation.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitmarshalpublic final void marshal(Object obj, OutputStream os) throws JAXBException
Marshallermarshal in interface Marshallerobj - 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(Object jaxbElement, File output) throws JAXBException
Marshallermarshal in interface MarshallerjaxbElement - 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(Object obj, Writer w) throws JAXBException
Marshallermarshal in interface Marshallerobj - 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(Object obj, ContentHandler handler) throws JAXBException
Marshallermarshal in interface Marshallerobj - 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(Object obj, Node node) throws JAXBException
Marshallermarshal in interface Marshallerobj - 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 Node getNode(Object obj) throws JAXBException
UnsupportedOperationException.
Implementations that choose to support this method must
override this method.getNode in interface Marshallerobj - - JAXB Java representation of XML contentJAXBException - If any unexpected problem occursprotected String getEncoding()
protected void setEncoding(String encoding)
encoding - a valid encoding as specified in the Marshaller class
documentationprotected String getSchemaLocation()
protected void setSchemaLocation(String location)
location - the schemaLocation valueprotected String getNoNSSchemaLocation()
protected void setNoNSSchemaLocation(String location)
location - the noNamespaceSchemaLocation valueprotected 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 String getJavaEncoding(String encoding) throws UnsupportedEncodingException
UnsupportedEncodingException - If this implementation couldn't find the Java encoding name.public void setProperty(String name, Object value) throws PropertyException
setProperty in interface Marshallername - 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 setPropertyException - when there is an error processing the given
property or valuepublic Object getProperty(String name) throws PropertyException
getProperty in interface Marshallername - the name of the property to retrievePropertyException - when there is an error retrieving the given property or value
property namepublic ValidationEventHandler getEventHandler() throws JAXBException
MarshallergetEventHandler in interface MarshallerJAXBException - if an error was encountered while getting the
current event handlerMarshaller.getEventHandler()public void setEventHandler(ValidationEventHandler handler) throws JAXBException
MarshallerThe 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 Marshallerhandler - the validation event handlerJAXBException - if an error was encountered while setting the
event handlerMarshaller.setEventHandler(ValidationEventHandler)public void marshal(Object obj, XMLEventWriter writer) throws JAXBException
MarshallerXMLEventWriter.marshal in interface Marshallerobj - 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(Object obj, XMLStreamWriter writer) throws JAXBException
MarshallerXMLStreamWriter.marshal in interface Marshallerobj - 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(Schema schema)
MarshallerSchema
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 Marshallerschema - Schema object to validate marshal operations against or null to disable validationpublic Schema getSchema()
MarshallerSchema 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 Marshallerpublic void setAdapter(XmlAdapter adapter)
MarshallerXmlAdapter with this marshaller.
This is a convenience method that invokes setAdapter(adapter.getClass(),adapter);.
setAdapter in interface MarshallerMarshaller.setAdapter(Class,XmlAdapter)public <A extends XmlAdapter> void setAdapter(Class<A> type, A adapter)
MarshallerXmlAdapter 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 Marshallertype - 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)
MarshallerMarshaller.setAdapter(javax.xml.bind.annotation.adapters.XmlAdapter) method.getAdapter in interface Marshallerpublic void setAttachmentMarshaller(AttachmentMarshaller am)
MarshallerAssociate 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.
setAttachmentMarshaller in interface Marshallerpublic AttachmentMarshaller getAttachmentMarshaller()
getAttachmentMarshaller in interface Marshallerpublic 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 Marshallerlistener - an instance of a class that implements Marshaller.Listenerpublic Marshaller.Listener getListener()
MarshallerReturn Marshaller.Listener registered with this Marshaller.
getListener in interface MarshallerMarshaller.Listener or null if no Listener is registered with this Marshaller. Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.