public class WriterRecord extends MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
Use this type of MarshalRecord when the marshal target is a Writer and the XML should not be formatted with carriage returns or indenting.
XMLContext xmlContext = new XMLContext("session-name");
XMLMarshaller xmlMarshaller = xmlContext.createMarshaller();
WriterRecord writerRecord = new WriterRecord();
writerRecord.setWriter(myWriter);
xmlMarshaller.marshal(myObject, writerRecord);
If the marshal(Writer) and setFormattedOutput(false) method is called on XMLMarshaller, then the Writer is automatically wrapped in a WriterRecord.
XMLContext xmlContext = new XMLContext("session-name");
XMLMarshaller xmlMarshaller = xmlContext.createMarshaller();
xmlMarshaller xmlMarshaller.setFormattedOutput(false);
xmlMarshaller.marshal(myObject, myWriter);
XMLMarshaller| Modifier and Type | Class and Description |
|---|---|
protected class |
WriterRecord.WriterRecordContentHandler
This class will typically be used in conjunction with an XMLFragmentReader.
|
| Modifier and Type | Field and Description |
|---|---|
protected java.lang.StringBuilder |
builder |
protected java.nio.charset.CharsetEncoder |
encoder |
protected boolean |
isProcessingCData |
protected boolean |
isStartElementOpen |
COLON_W_SCHEMA_NIL_ATTRIBUTE, textWrapperFragment, TRUE| Constructor and Description |
|---|
WriterRecord() |
| Modifier and Type | Method and Description |
|---|---|
void |
attribute(java.lang.String namespaceURI,
java.lang.String localName,
java.lang.String qName,
java.lang.String value)
INTERNAL:
|
void |
attribute(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver,
java.lang.String value)
INTERNAL:
|
void |
cdata(java.lang.String value)
INTERNAL:
|
void |
characters(java.lang.String value)
INTERNAL:
|
void |
closeStartElement()
INTERNAL:
|
void |
element(org.eclipse.persistence.internal.oxm.XPathFragment frag)
INTERNAL:
|
void |
endDocument()
INTERNAL:
|
void |
endElement(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
INTERNAL:
|
void |
flush() |
java.io.Writer |
getWriter()
Return the Writer that the object will be marshalled to.
|
void |
node(org.w3c.dom.Node node,
org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver,
java.lang.String newNamespace,
java.lang.String newName)
Receive notification of a node.
|
void |
openStartElement(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
INTERNAL:
|
void |
setMarshaller(org.eclipse.persistence.internal.oxm.XMLMarshaller marshaller) |
void |
setWriter(java.io.Writer writer)
Set the Writer that the object will be marshalled to.
|
void |
startDocument(java.lang.String encoding,
java.lang.String version)
INTERNAL:
|
void |
startPrefixMappings(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
INTERNAL:
override so we don't iterate over namespaces when startPrefixMapping doesn't do anything
|
void |
writeHeader()
INTERNAL
|
protected void |
writeValue(java.lang.String value)
INTERNAL:
|
protected void |
writeValue(java.lang.String value,
boolean isAttribute,
java.lang.StringBuilder writer)
INTERNAL:
|
add, addGroupingElement, addPositionalNodes, afterContainmentMarshal, attribute, beforeContainmentMarshal, characters, clear, closeStartGroupingElements, defaultNamespaceDeclaration, emptyAttribute, emptyCollection, emptyComplex, emptySimple, endCollection, endPrefixMapping, endPrefixMappings, forceValueWrapper, getCurrentAttributeGroup, getCycleDetectionStack, getDocument, getDOM, getGroupingElements, getLocalName, getNameForFragment, getNamespaceURI, getPositionalNodes, getPrefixBytes, getPrefixForFragment, getStringForQName, getTextWrapperFragment, getValueToWrite, isWrapperAsCollectionName, marshalWithoutRootElement, namespaceDeclaration, namespaceDeclarations, nilComplex, nilSimple, node, openStartGroupingElements, popAttributeGroup, predicateAttribute, processNamespaceResolverForXSIPrefix, pushAttributeGroup, put, removeGroupingElement, setGroupingElement, setSession, startCollection, startPrefixMapping, transformToXMLaddExtraNamespacesToNamespaceResolver, addXsiTypeAndClassIndicatorIfRequired, addXsiTypeAndClassIndicatorIfRequired, attributeWithoutQName, getConversionManager, getLeafElementType, getMarshaller, getNamespaceResolver, getNamespaceSeparator, getOwningObject, getSession, hasCustomNamespaceMapper, hasEqualNamespaceResolvers, isNamespaceAware, isXOPPackage, removeExtraNamespacesFromNamespaceResolver, resolveNamespacePrefix, setCustomNamespaceMapper, setEqualNamespaceResolvers, setLeafElementType, setLeafElementType, setNamespaceResolver, setOwningObject, setXOPPackage, writeXsiTypeAttribute, writeXsiTypeAttributeclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitattributeWithoutQName, hasCustomNamespaceMapper, isXOPPackage, removeExtraNamespacesFromNamespaceResolver, setLeafElementTypeaddExtraNamespacesToNamespaceResolver, addXsiTypeAndClassIndicatorIfRequired, addXsiTypeAndClassIndicatorIfRequired, getLeafElementType, getMarshaller, getNamespaceResolver, getOwningObject, hasEqualNamespaceResolvers, isNamespaceAware, resolveNamespacePrefix, setCustomNamespaceMapper, setEqualNamespaceResolvers, setLeafElementType, setNamespaceResolver, setOwningObject, setXOPPackage, writeXsiTypeAttribute, writeXsiTypeAttributeprotected java.lang.StringBuilder builder
protected boolean isStartElementOpen
protected boolean isProcessingCData
protected java.nio.charset.CharsetEncoder encoder
public java.io.Writer getWriter()
public void setWriter(java.io.Writer writer)
writer - The marshal target.public void startDocument(java.lang.String encoding,
java.lang.String version)
startDocument in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>encoding - The XML document will be encoded using this encoding.version - This specifies the version of XML.public void writeHeader()
writeHeader in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>public void endDocument()
endDocument in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>public void openStartElement(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
openStartElement in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.core.helper.CoreField,org.eclipse.persistence.internal.oxm.XMLMarshaller,org.eclipse.persistence.internal.oxm.NamespaceResolver>openStartElement in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>xPathFragment - The XPathFragment contains the name and prefix
information about the XML element being ended.namespaceResolver - The NamespaceResolver can be used to resolve the
namespace URI for the namespace prefix held by the XPathFragment (if
required).public void element(org.eclipse.persistence.internal.oxm.XPathFragment frag)
element in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>frag - The XPathFragment of the elementpublic void attribute(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver,
java.lang.String value)
attribute in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.core.helper.CoreField,org.eclipse.persistence.internal.oxm.XMLMarshaller,org.eclipse.persistence.internal.oxm.NamespaceResolver>attribute in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>xPathFragment - The XPathFragment contains the name and prefix
information about the XML element being ended.namespaceResolver - The NamespaceResolver can be used to resolve the
namespace URI for the namespace prefix held by the XPathFragment (if
required).value - This is the complete value for the attribute.public void startPrefixMappings(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
startPrefixMappings in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>public void attribute(java.lang.String namespaceURI,
java.lang.String localName,
java.lang.String qName,
java.lang.String value)
attribute in interface org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.core.helper.CoreField,org.eclipse.persistence.internal.oxm.XMLMarshaller,org.eclipse.persistence.internal.oxm.NamespaceResolver>attribute in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.core.helper.CoreField,org.eclipse.persistence.internal.oxm.XMLMarshaller,org.eclipse.persistence.internal.oxm.NamespaceResolver>attribute in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>namespaceURI - The namespace URI, if the attribute is not namespace
qualified the value of this parameter wil be null.localName - The local name of the attribute.qName - The qualified name of the attribute.value - This is the complete value for the attribute.public void closeStartElement()
closeStartElement in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.core.helper.CoreField,org.eclipse.persistence.internal.oxm.XMLMarshaller,org.eclipse.persistence.internal.oxm.NamespaceResolver>closeStartElement in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>public void endElement(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
endElement in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.core.helper.CoreField,org.eclipse.persistence.internal.oxm.XMLMarshaller,org.eclipse.persistence.internal.oxm.NamespaceResolver>endElement in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>xPathFragment - The XPathFragment contains the name and prefix
information about the XML element being ended.namespaceResolver - The NamespaceResolver can be used to resolve the
namespace URI for the namespace prefix held by the XPathFragment (if
required).public void characters(java.lang.String value)
characters in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.core.helper.CoreField,org.eclipse.persistence.internal.oxm.XMLMarshaller,org.eclipse.persistence.internal.oxm.NamespaceResolver>characters in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>value - This is the entire value of the text node.public void cdata(java.lang.String value)
cdata in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.core.helper.CoreField,org.eclipse.persistence.internal.oxm.XMLMarshaller,org.eclipse.persistence.internal.oxm.NamespaceResolver>cdata in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>value - This is the value of the text to be wrappedprotected void writeValue(java.lang.String value)
protected void writeValue(java.lang.String value,
boolean isAttribute,
java.lang.StringBuilder writer)
public void node(org.w3c.dom.Node node,
org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver,
java.lang.String newNamespace,
java.lang.String newName)
node in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>node - The Node to be added to the documentnamespaceResolver - The NamespaceResolver can be used to resolve the
namespace URI/prefix of the nodenewNamespace - replacement root name for the nodenewName - replacement root namespace for the node
namespace URI/prefix of the nodepublic void setMarshaller(org.eclipse.persistence.internal.oxm.XMLMarshaller marshaller)
setMarshaller in interface org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.core.helper.CoreField,org.eclipse.persistence.internal.oxm.XMLMarshaller,org.eclipse.persistence.internal.oxm.NamespaceResolver>setMarshaller in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.core.helper.CoreField,org.eclipse.persistence.internal.oxm.XMLMarshaller,org.eclipse.persistence.internal.oxm.NamespaceResolver>setMarshaller in class org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecordImpl<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.core.helper.CoreField,org.eclipse.persistence.internal.oxm.XMLMarshaller,org.eclipse.persistence.internal.oxm.NamespaceResolver>public void flush()
flush in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.core.helper.CoreField,org.eclipse.persistence.internal.oxm.XMLMarshaller,org.eclipse.persistence.internal.oxm.NamespaceResolver>flush in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>