Package org.eclipse.persistence.oxm
Class XMLMarshaller
java.lang.Object
org.eclipse.persistence.internal.oxm.Marshaller<CHARACTER_ESCAPE_HANDLER,CONTEXT,MARSHALLER_LISTENER,MEDIA_TYPE,NAMESPACE_PREFIX_MAPPER>
org.eclipse.persistence.internal.oxm.XMLMarshaller<org.eclipse.persistence.internal.sessions.AbstractSession,CharacterEscapeHandler,XMLContext,XMLDescriptor,XMLMarshalListener,MediaType,NamespacePrefixMapper,org.eclipse.persistence.internal.oxm.TreeObjectBuilder,DatabaseSession>
org.eclipse.persistence.oxm.XMLMarshaller
- All Implemented Interfaces:
Cloneable
public class XMLMarshaller
extends org.eclipse.persistence.internal.oxm.XMLMarshaller<org.eclipse.persistence.internal.sessions.AbstractSession,CharacterEscapeHandler,XMLContext,XMLDescriptor,XMLMarshalListener,MediaType,NamespacePrefixMapper,org.eclipse.persistence.internal.oxm.TreeObjectBuilder,DatabaseSession>
implements 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:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.persistence.internal.oxm.Marshaller
org.eclipse.persistence.internal.oxm.Marshaller.Listener -
Field Summary
Fields inherited from class org.eclipse.persistence.internal.oxm.XMLMarshaller
attachmentMarshaller, DEFAULT_XML_VERSION, domToEventWriterClass, domToStreamWriterClass, mediaType, staxResultClass, staxResultGetEventWriterMethod, staxResultGetStreamWriterMethod, transformer, writeToEventWriterMethod, writeToStreamMethodFields inherited from class org.eclipse.persistence.internal.oxm.Marshaller
context, mapper, marshalProperties -
Constructor Summary
ConstructorsModifierConstructorDescriptionXMLMarshaller(XMLContext xmlContext) Create a new XMLMarshaller based on the specified sessionprotectedXMLMarshaller(XMLMarshaller xmlMarshaller) Copy constructor -
Method Summary
Modifier and TypeMethodDescriptionclone()Return this Marshaller's CharacterEscapeHandler.protected XMLDescriptorgetDescriptor(Object object, org.eclipse.persistence.internal.sessions.AbstractSession session, boolean isXMLRoot) org.eclipse.persistence.internal.oxm.JsonTypeConfigurationReturns json type configuration.Get the MediaType for this xmlMarshaller.NamespacePrefixMapper that can be used during marshal (instead of those set in the project meta data)protected NodegetNode(Object object, Node parentNode, org.eclipse.persistence.internal.sessions.AbstractSession session, XMLDescriptor xmlDescriptor, boolean isXMLRoot) Return a properties object for a given instance of the XMLMarshaller.Return the instance of XMLContext that was used to create this instance of XMLMarshaller.voidPUBLIC: Convert the given object to XML and update the given result with that XML Documentprotected voidmarshal(Object object, org.eclipse.persistence.internal.sessions.AbstractSession session, MarshalRecord marshalRecord) Convert the given object to XML and update the given marshal record with that XML Document.protected DocumentobjectToXML(Object object, XMLDescriptor descriptor, boolean isXMLRoot) INTERNAL: Convert the given object to an XML DocumentobjectToXML(Object object, XMLDescriptor descriptor, XMLRecord xmlRow, boolean isXMLRoot, DocumentPreservationPolicy docPresPolicy) INTERNAL: Convert the given object to an XML DocumentobjectToXML(Object object, Node parent, DocumentPreservationPolicy docPresPolicy) objectToXML(Object object, Node rootNode, XMLDescriptor descriptor, XMLRecord xmlRow, boolean isXMLRoot, DocumentPreservationPolicy docPresPolicy) protected NodeobjectToXMLNode(Object object, Node rootNode, org.eclipse.persistence.internal.sessions.AbstractSession session, XMLDescriptor descriptor, boolean isXMLRoot) voidSet this Marshaller's CharacterEscapeHandler.voidsetMarshalListener(XMLMarshalListener listener) voidsetMediaType(MediaType mediaType) Set the MediaType for this xmlMarshaller.voidNamespacePrefixMapper that can be used during marshal (instead of those set in the project meta data)voidsetXMLContext(XMLContext value) Set the XMLContext used by this instance of XMLMarshaller.voidsetXMLMarshalHandler(XMLMarshalListener marshalListener) Methods inherited from class org.eclipse.persistence.internal.oxm.XMLMarshaller
addDescriptorNamespacesToXMLRecord, copyNamespaces, getAttachmentMarshaller, getAttributePrefix, getDescriptor, getDescriptor, getDescriptor, getDescriptor, getDescriptor, getDescriptor, getMarshalAttributeGroup, getNamespaceSeparator, getNoNamespaceSchemaLocation, getSchema, getSchemaLocation, getTransformer, getValueWrapper, getXmlHeader, isApplicationJSON, isApplicationXML, isFragment, isIncludeRoot, isLogPayload, isMarshalEmptyCollections, isReduceAnyArrays, isSimpleXMLRoot, isWrapperAsCollectionName, marshal, marshal, marshal, marshal, marshal, marshal, marshal, objectToXML, objectToXMLNode, setAttachmentMarshaller, setAttributePrefix, setEncoding, setFormattedOutput, setFragment, setIncludeRoot, setLogPayload, setMarshalAttributeGroup, setMarshalEmptyCollections, setNamespaceSeparator, setNoNamespaceSchemaLocation, setReduceAnyArrays, setSchema, setSchemaLocation, setValueWrapper, setWrapperAsCollectionName, setXmlHeaderMethods inherited from class org.eclipse.persistence.internal.oxm.Marshaller
getContext, getEncoding, getErrorHandler, getIndentString, getProperty, isEqualUsingIdenity, isFormattedOutput, setEqualUsingIdenity, setErrorHandler, setIndentString
-
Constructor Details
-
XMLMarshaller
Create a new XMLMarshaller based on the specified session- Parameters:
xmlContext- the XML content
-
XMLMarshaller
Copy constructor
-
-
Method Details
-
getXMLContext
Return the instance of XMLContext that was used to create this instance of XMLMarshaller. -
setXMLContext
Set the XMLContext used by this instance of XMLMarshaller. -
getProperties
Return a properties object for a given instance of the XMLMarshaller.- Returns:
-
setXMLMarshalHandler
-
marshal
PUBLIC: Convert the given object to XML and update the given result with that XML Document- Overrides:
marshalin classorg.eclipse.persistence.internal.oxm.XMLMarshaller<org.eclipse.persistence.internal.sessions.AbstractSession,CharacterEscapeHandler, XMLContext, XMLDescriptor, XMLMarshalListener, MediaType, NamespacePrefixMapper, org.eclipse.persistence.internal.oxm.TreeObjectBuilder, DatabaseSession> - Parameters:
object- the object to marshalresult- the result to marshal the object to- Throws:
XMLMarshalException- if an error occurred during marshalling
-
getNode
protected Node getNode(Object object, Node parentNode, org.eclipse.persistence.internal.sessions.AbstractSession session, XMLDescriptor xmlDescriptor, boolean isXMLRoot) - Overrides:
getNodein classorg.eclipse.persistence.internal.oxm.XMLMarshaller<org.eclipse.persistence.internal.sessions.AbstractSession,CharacterEscapeHandler, XMLContext, XMLDescriptor, XMLMarshalListener, MediaType, NamespacePrefixMapper, org.eclipse.persistence.internal.oxm.TreeObjectBuilder, DatabaseSession>
-
getMarshalListener
- Overrides:
getMarshalListenerin classorg.eclipse.persistence.internal.oxm.Marshaller<CharacterEscapeHandler,XMLContext, XMLMarshalListener, MediaType, NamespacePrefixMapper>
-
setMarshalListener
- Overrides:
setMarshalListenerin classorg.eclipse.persistence.internal.oxm.Marshaller<CharacterEscapeHandler,XMLContext, XMLMarshalListener, MediaType, NamespacePrefixMapper>
-
marshal
protected void marshal(Object object, org.eclipse.persistence.internal.sessions.AbstractSession session, MarshalRecord marshalRecord) Convert the given object to XML and update the given marshal record with that XML Document.- Parameters:
object- the object to marshalmarshalRecord- the marshalRecord to marshal the object to
-
objectToXML
protected Document objectToXML(Object object, XMLDescriptor descriptor, boolean isXMLRoot) throws XMLMarshalException INTERNAL: Convert the given object to an XML Document- Overrides:
objectToXMLin classorg.eclipse.persistence.internal.oxm.XMLMarshaller<org.eclipse.persistence.internal.sessions.AbstractSession,CharacterEscapeHandler, XMLContext, XMLDescriptor, XMLMarshalListener, MediaType, NamespacePrefixMapper, org.eclipse.persistence.internal.oxm.TreeObjectBuilder, DatabaseSession> - Parameters:
object- the object to marshaldescriptor- the XMLDescriptor for the object being marshalled- Returns:
- the document which the specified object has been marshalled to
- Throws:
XMLMarshalException- if an error occurred during marshalling
-
objectToXMLNode
protected Node objectToXMLNode(Object object, Node rootNode, org.eclipse.persistence.internal.sessions.AbstractSession session, XMLDescriptor descriptor, boolean isXMLRoot) throws XMLMarshalException - Overrides:
objectToXMLNodein classorg.eclipse.persistence.internal.oxm.XMLMarshaller<org.eclipse.persistence.internal.sessions.AbstractSession,CharacterEscapeHandler, XMLContext, XMLDescriptor, XMLMarshalListener, MediaType, NamespacePrefixMapper, org.eclipse.persistence.internal.oxm.TreeObjectBuilder, DatabaseSession> - Throws:
XMLMarshalException
-
objectToXML
-
objectToXML
public Document objectToXML(Object object, XMLDescriptor descriptor, XMLRecord xmlRow, boolean isXMLRoot, DocumentPreservationPolicy docPresPolicy) INTERNAL: Convert the given object to an XML Document -
objectToXML
public Document objectToXML(Object object, Node rootNode, XMLDescriptor descriptor, XMLRecord xmlRow, boolean isXMLRoot, DocumentPreservationPolicy docPresPolicy) -
getDescriptor
protected XMLDescriptor getDescriptor(Object object, org.eclipse.persistence.internal.sessions.AbstractSession session, boolean isXMLRoot) -
clone
-
setNamespacePrefixMapper
NamespacePrefixMapper that can be used during marshal (instead of those set in the project meta data)- Overrides:
setNamespacePrefixMapperin classorg.eclipse.persistence.internal.oxm.Marshaller<CharacterEscapeHandler,XMLContext, XMLMarshalListener, MediaType, NamespacePrefixMapper>
-
getNamespacePrefixMapper
NamespacePrefixMapper that can be used during marshal (instead of those set in the project meta data)- Overrides:
getNamespacePrefixMapperin classorg.eclipse.persistence.internal.oxm.Marshaller<CharacterEscapeHandler,XMLContext, XMLMarshalListener, MediaType, NamespacePrefixMapper> - Returns:
-
getCharacterEscapeHandler
Return this Marshaller's CharacterEscapeHandler.- Overrides:
getCharacterEscapeHandlerin classorg.eclipse.persistence.internal.oxm.Marshaller<CharacterEscapeHandler,XMLContext, XMLMarshalListener, MediaType, NamespacePrefixMapper>
-
setCharacterEscapeHandler
Set this Marshaller's CharacterEscapeHandler.- Overrides:
setCharacterEscapeHandlerin classorg.eclipse.persistence.internal.oxm.Marshaller<CharacterEscapeHandler,XMLContext, XMLMarshalListener, MediaType, NamespacePrefixMapper>
-
setMediaType
Set the MediaType for this xmlMarshaller. See org.eclipse.persistence.oxm.MediaType for the media types supported by EclipseLink MOXy- Overrides:
setMediaTypein classorg.eclipse.persistence.internal.oxm.XMLMarshaller<org.eclipse.persistence.internal.sessions.AbstractSession,CharacterEscapeHandler, XMLContext, XMLDescriptor, XMLMarshalListener, MediaType, NamespacePrefixMapper, org.eclipse.persistence.internal.oxm.TreeObjectBuilder, DatabaseSession> - Parameters:
mediaType-
-
getMediaType
Get the MediaType for this xmlMarshaller. See org.eclipse.persistence.oxm.MediaType for the media types supported by EclipseLink MOXy If not set the default is MediaType.APPLICATION_XML- Returns:
- MediaType
-
getJsonTypeConfiguration
public org.eclipse.persistence.internal.oxm.JsonTypeConfiguration getJsonTypeConfiguration()Returns json type configuration.- Specified by:
getJsonTypeConfigurationin classorg.eclipse.persistence.internal.oxm.Marshaller<CharacterEscapeHandler,XMLContext, XMLMarshalListener, MediaType, NamespacePrefixMapper> - Returns:
- json type configuration
-