public class XMLMarshaller
extends java.lang.Object
implements java.lang.Cloneable
Class used to marshal object to XML.
Create an XMLMarshaller from an XMLContext.
Code Sample
XMLContext context = new XMLContext("mySessionName");
XMLMarshaller marshaller = context.createMarshaller();
Objects can be marshalled to the following outputs:
java.io.OutputStream
java.io.Writer
javax.xml.transform.Result
org.w3c.dom.Node
org.xml.sax.ContentHandler
Objects that can be marshalled are those which are mapped in the TopLink project associated with the XMLContext, and which are mapped to an XMLDescriptor that has a default root element specified.
See Also:
XMLContext
Constructor and Description |
---|
XMLMarshaller(XMLContext xmlContext)
Create a new XMLMarshaller based on the specified session
|
Modifier and Type | Method and Description |
---|---|
XMLMarshaller |
clone() |
XMLAttachmentMarshaller |
getAttachmentMarshaller() |
java.lang.String |
getAttributePrefix()
Value that will be used to prefix attributes.
|
CharacterEscapeHandler |
getCharacterEscapeHandler()
Return this Marshaller's CharacterEscapeHandler.
|
java.lang.String |
getEncoding()
Get the encoding set on this XMLMarshaller If the encoding has not been set the default UTF-8 will be used
|
org.xml.sax.ErrorHandler |
getErrorHandler() |
java.lang.String |
getIndentString()
Return the String that will be used to perform indenting in marshalled documents.
|
XMLMarshalListener |
getMarshalListener() |
MediaType |
getMediaType()
Get the MediaType for this xmlMarshaller.
|
NamespacePrefixMapper |
getNamespacePrefixMapper()
NamespacePrefixMapper that can be used during marshal (instead of those set in the project meta data)
|
char |
getNamespaceSeparator()
Get the namespace separator used during marshal operations.
|
java.lang.String |
getNoNamespaceSchemaLocation()
Get the no namespace schema location set on this XMLMarshaller
|
java.util.Properties |
getProperties()
Return a properties object for a given instance of the XMLMarshaller.
|
java.lang.Object |
getProperty(java.lang.Object key)
Return the property for a given key, if one exists.
|
javax.xml.validation.Schema |
getSchema() |
java.lang.String |
getSchemaLocation()
Get the schema location set on this XMLMarshaller
|
XMLTransformer |
getTransformer()
INTERNAL
|
java.lang.String |
getValueWrapper()
Name of the property to marshal/unmarshal as a wrapper on the text() mappings Ignored marshalling XML.
|
XMLContext |
getXMLContext()
Return the instance of XMLContext that was used to create this instance of XMLMarshaller.
|
java.lang.String |
getXmlHeader()
Get this Marshaller's XML Header.
|
boolean |
isEqualUsingIdenity()
INTERNAL
|
boolean |
isFormattedOutput()
Returns if this XMLMarshaller should format the XML By default this is set to true and the XML marshalled will be formatted.
|
boolean |
isFragment()
PUBLIC: Returns if this should marshal to a fragment.
|
boolean |
isIncludeRoot()
Determine if the @XMLRootElement should be marshalled when present.
|
boolean |
isMarshalEmptyCollections()
Name of the property to determine if empty collections should be marshalled as [] Ignored marshalling XML.
|
boolean |
isReduceAnyArrays()
Property to determine if size 1 any collections should be treated as collections Ignored marshalling XML.
|
boolean |
isWrapperAsCollectionName() |
void |
marshal(java.lang.Object object, org.xml.sax.ContentHandler contentHandler)
PUBLIC: Convert the given object to XML and update the given contentHandler with that XML Document
|
void |
marshal(java.lang.Object object, org.xml.sax.ContentHandler contentHandler, org.xml.sax.ext.LexicalHandler lexicalHandler)
PUBLIC: Convert the given object to XML and update the given contentHandler with that XML Document
|
void |
marshal(java.lang.Object object, MarshalRecord marshalRecord)
Convert the given object to XML and update the given marshal record with that XML Document.
|
void |
marshal(java.lang.Object object, org.w3c.dom.Node node)
PUBLIC: Convert the given object to XML and update the given node with that XML Document
|
void |
marshal(java.lang.Object object, java.io.OutputStream outputStream)
PUBLIC: Convert the given object to XML and update the given outputStream with that XML Document
|
void |
marshal(java.lang.Object object, javax.xml.transform.Result result)
PUBLIC: Convert the given object to XML and update the given result with that XML Document
|
void |
marshal(java.lang.Object object, java.io.Writer writer)
PUBLIC: Convert the given object to XML and update the given writer with that XML Document
|
org.w3c.dom.Document |
objectToXML(java.lang.Object object)
PUBLIC: Convert the given object to an XML Document
|
org.w3c.dom.Document |
objectToXML(java.lang.Object object, org.w3c.dom.Node parent)
Deprecated.
|
org.w3c.dom.Document |
objectToXML(java.lang.Object object, org.w3c.dom.Node parent, DocumentPreservationPolicy docPresPolicy) |
org.w3c.dom.Document |
objectToXML(java.lang.Object object, org.w3c.dom.Node rootNode, XMLDescriptor descriptor, XMLRecord xmlRow, boolean isXMLRoot, DocumentPreservationPolicy docPresPolicy) |
org.w3c.dom.Document |
objectToXML(java.lang.Object object, XMLDescriptor descriptor, XMLRecord xmlRow, boolean isXMLRoot, DocumentPreservationPolicy docPresPolicy)
INTERNAL: Convert the given object to an XML Document
|
void |
setAttachmentMarshaller(XMLAttachmentMarshaller atm) |
void |
setAttributePrefix(java.lang.String attributePrefix)
Value that will be used to prefix attributes.
|
void |
setCharacterEscapeHandler(CharacterEscapeHandler c)
Set this Marshaller's CharacterEscapeHandler.
|
void |
setEncoding(java.lang.String newEncoding)
Set the encoding on this XMLMarshaller If the encoding is not set the default UTF-8 will be used
|
void |
setEqualUsingIdenity(boolean equalUsingIdenity)
INTERNAL
|
void |
setErrorHandler(org.xml.sax.ErrorHandler errorHandler) |
void |
setFormattedOutput(boolean shouldFormat)
Set if this XMLMarshaller should format the XML By default this is set to true and the XML marshalled will be formatted.
|
void |
setFragment(boolean fragment)
PUBLIC: Set if this should marshal to a fragment.
|
void |
setIncludeRoot(boolean includeRoot)
Determine if the @XMLRootElement should be marshalled when present.
|
void |
setIndentString(java.lang.String s)
Set the String that will be used to perform indenting in marshalled documents.
|
void |
setMarshalEmptyCollections(java.lang.Boolean marshalEmptyCollections)
Name of the property to determine if empty collections should be marshalled as [] Ignored marshalling XML.
|
void |
setMarshalListener(XMLMarshalListener listener) |
void |
setMediaType(MediaType mediaType)
Set the MediaType for this xmlMarshaller.
|
void |
setNamespacePrefixMapper(NamespacePrefixMapper mapper)
NamespacePrefixMapper that can be used during marshal (instead of those set in the project meta data)
|
void |
setNamespaceSeparator(char namespaceSeparator)
Set the namespace separator used during marshal operations.
|
void |
setNoNamespaceSchemaLocation(java.lang.String newNoNamespaceSchemaLocation)
Set the no namespace schema location on this XMLMarshaller
|
void |
setReduceAnyArrays(boolean reduceAnyArrays)
Property to determine if size 1 any collections should be treated as collections Ignored marshalling XML.
|
void |
setSchema(javax.xml.validation.Schema schema) |
void |
setSchemaLocation(java.lang.String newSchemaLocation)
Set the schema location on this XMLMarshaller
|
void |
setValueWrapper(java.lang.String valueWrapper)
Name of the property to marshal/unmarshal as a wrapper on the text() mappings Ignored marshalling XML.
|
void |
setWrapperAsCollectionName(boolean wrapperAsCollectionName) |
void |
setXMLContext(XMLContext value)
Set the XMLContext used by this instance of XMLMarshaller.
|
void |
setXmlHeader(java.lang.String xmlHeader)
Set this Marshaller's XML Header.
|
void |
setXMLMarshalHandler(XMLMarshalListener marshalListener) |
public XMLMarshaller(XMLContext xmlContext)
session
- A single sessionpublic XMLContext getXMLContext()
public void setXMLContext(XMLContext value)
public org.xml.sax.ErrorHandler getErrorHandler()
public void setErrorHandler(org.xml.sax.ErrorHandler errorHandler)
public boolean isFormattedOutput()
public void setFormattedOutput(boolean shouldFormat)
shouldFormat
- if this XMLMarshaller should format the XMLpublic java.lang.String getEncoding()
public void setEncoding(java.lang.String newEncoding)
newEncoding
- the encoding to set on this XMLMarshallerpublic void setMediaType(MediaType mediaType)
mediaType
-public MediaType getMediaType()
public java.lang.String getSchemaLocation()
public void setSchemaLocation(java.lang.String newSchemaLocation)
newSchemaLocation
- the schema location to be seton this XMLMarshallerpublic java.lang.String getNoNamespaceSchemaLocation()
public java.util.Properties getProperties()
public java.lang.Object getProperty(java.lang.Object key)
public void setNoNamespaceSchemaLocation(java.lang.String newNoNamespaceSchemaLocation)
newNoNamespaceSchemaLocation
- no namespace schema location to be seton this XMLMarshallerpublic void setXMLMarshalHandler(XMLMarshalListener marshalListener)
public XMLMarshalListener getMarshalListener()
public void setMarshalListener(XMLMarshalListener listener)
public void marshal(java.lang.Object object, javax.xml.transform.Result result) throws XMLMarshalException
object
- the object to marshalresult
- the result to marshal the object toXMLMarshalException
- if an error occurred during marshallingpublic void marshal(java.lang.Object object, java.io.OutputStream outputStream) throws XMLMarshalException
object
- the object to marshaloutputStream
- the outputStream to marshal the object toXMLMarshalException
- if an error occurred during marshallingpublic void marshal(java.lang.Object object, java.io.Writer writer) throws XMLMarshalException
object
- the object to marshalwriter
- the writer to marshal the object toXMLMarshalException
- if an error occurred during marshallingpublic void marshal(java.lang.Object object, org.xml.sax.ContentHandler contentHandler) throws XMLMarshalException
object
- the object to marshalcontentHandler
- the contentHandler which the specified object should be marshalled toXMLMarshalException
- if an error occurred during marshallingpublic void marshal(java.lang.Object object, org.xml.sax.ContentHandler contentHandler, org.xml.sax.ext.LexicalHandler lexicalHandler) throws XMLMarshalException
object
- the object to marshalcontentHandler
- the contentHandler which the specified object should be marshalled toXMLMarshalException
- if an error occurred during marshallingpublic void marshal(java.lang.Object object, org.w3c.dom.Node node) throws XMLMarshalException
object
- the object to marshalnode
- the node which the specified object should be marshalled toXMLMarshalException
- if an error occurred during marshallingpublic void marshal(java.lang.Object object, MarshalRecord marshalRecord)
object
- the object to marshalmarshalRecord
- the marshalRecord to marshal the object topublic org.w3c.dom.Document objectToXML(java.lang.Object object) throws XMLMarshalException
object
- the object to marshalXMLMarshalException
- if an error occurred during marshallingpublic org.w3c.dom.Document objectToXML(java.lang.Object object, org.w3c.dom.Node parent) throws XMLMarshalException
object
- the object to marshalparent
- the node to marshal the object toXMLMarshalException
- if an error occurred during marshallingpublic org.w3c.dom.Document objectToXML(java.lang.Object object, org.w3c.dom.Node parent, DocumentPreservationPolicy docPresPolicy)
public org.w3c.dom.Document objectToXML(java.lang.Object object, XMLDescriptor descriptor, XMLRecord xmlRow, boolean isXMLRoot, DocumentPreservationPolicy docPresPolicy)
public org.w3c.dom.Document objectToXML(java.lang.Object object, org.w3c.dom.Node rootNode, XMLDescriptor descriptor, XMLRecord xmlRow, boolean isXMLRoot, DocumentPreservationPolicy docPresPolicy)
public void setFragment(boolean fragment)
fragment
- if this should marshal to a fragment or notpublic boolean isFragment()
public void setAttachmentMarshaller(XMLAttachmentMarshaller atm)
public XMLAttachmentMarshaller getAttachmentMarshaller()
public XMLTransformer getTransformer()
public javax.xml.validation.Schema getSchema()
public void setSchema(javax.xml.validation.Schema schema)
public XMLMarshaller clone()
clone
in class java.lang.Object
public java.lang.String getAttributePrefix()
public void setAttributePrefix(java.lang.String attributePrefix)
public java.lang.String getValueWrapper()
public void setValueWrapper(java.lang.String valueWrapper)
public boolean isWrapperAsCollectionName()
public void setWrapperAsCollectionName(boolean wrapperAsCollectionName)
public boolean isMarshalEmptyCollections()
public void setMarshalEmptyCollections(java.lang.Boolean marshalEmptyCollections)
public boolean isReduceAnyArrays()
public void setReduceAnyArrays(boolean reduceAnyArrays)
public boolean isIncludeRoot()
public void setIncludeRoot(boolean includeRoot)
public char getNamespaceSeparator()
public void setNamespaceSeparator(char namespaceSeparator)
public void setNamespacePrefixMapper(NamespacePrefixMapper mapper)
public NamespacePrefixMapper getNamespacePrefixMapper()
public java.lang.String getIndentString()
public void setIndentString(java.lang.String s)
public CharacterEscapeHandler getCharacterEscapeHandler()
public void setCharacterEscapeHandler(CharacterEscapeHandler c)
public java.lang.String getXmlHeader()
public void setXmlHeader(java.lang.String xmlHeader)
Set this Marshaller's XML Header. This header string will appear after the XML processing instruction (<?xml ...>), but before the start of the document's data.
This feature is only supported when marshalling to Stream, Writer, or StreamResult.
public boolean isEqualUsingIdenity()
public void setEqualUsingIdenity(boolean equalUsingIdenity)