Class WriterRecord
- All Implemented Interfaces:
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> 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> org.eclipse.persistence.internal.oxm.record.XMLRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession>
- Direct Known Subclasses:
FormattedWriterRecord
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);
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected class
This class will typically be used in conjunction with an XMLFragmentReader.Nested classes/interfaces inherited from interface org.eclipse.persistence.internal.oxm.record.MarshalRecord
org.eclipse.persistence.internal.oxm.record.MarshalRecord.CycleDetectionStack<E>
Nested classes/interfaces inherited from interface org.eclipse.persistence.internal.oxm.record.XMLRecord
org.eclipse.persistence.internal.oxm.record.XMLRecord.Nil
-
Field Summary
Modifier and TypeFieldDescriptionprotected StringBuilder
protected CharsetEncoder
protected boolean
protected boolean
Fields inherited from class org.eclipse.persistence.oxm.record.MarshalRecord
COLON_W_SCHEMA_NIL_ATTRIBUTE, textWrapperFragment, TRUE
Fields inherited from class org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecordImpl
equalNamespaceResolvers, hasCustomNamespaceMapper, marshaller, namespaceAware, namespaceResolver, session
Fields inherited from interface org.eclipse.persistence.internal.oxm.record.XMLRecord
DEFAULT_ATTRIBUTE_GROUP, NIL
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
INTERNAL:void
attribute
(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver, String value) INTERNAL:void
INTERNAL:void
characters
(String value) INTERNAL:void
INTERNAL:void
element
(org.eclipse.persistence.internal.oxm.XPathFragment frag) INTERNAL:void
INTERNAL:void
endElement
(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) INTERNAL:void
flush()
Return the Writer that the object will be marshalled to.void
node
(Node node, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver, String newNamespace, 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
Set the Writer that the object will be marshalled to.void
startDocument
(String encoding, 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 anythingvoid
INTERNALprotected void
writeValue
(String value) INTERNAL:protected void
writeValue
(String value, boolean isAttribute, StringBuilder writer) INTERNAL:Methods inherited from class org.eclipse.persistence.oxm.record.MarshalRecord
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, transformToXML
Methods inherited from class org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecordImpl
addExtraNamespacesToNamespaceResolver, addXsiTypeAndClassIndicatorIfRequired, addXsiTypeAndClassIndicatorIfRequired, attributeWithoutQName, getConversionManager, getLeafElementType, getMarshaller, getNamespaceResolver, getNamespaceSeparator, getOwningObject, getSession, hasCustomNamespaceMapper, hasEqualNamespaceResolvers, isNamespaceAware, isXOPPackage, removeExtraNamespacesFromNamespaceResolver, resolveNamespacePrefix, setCustomNamespaceMapper, setEqualNamespaceResolvers, setLeafElementType, setLeafElementType, setNamespaceResolver, setOwningObject, setXOPPackage, writeXsiTypeAttribute, writeXsiTypeAttribute
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecord
addExtraNamespacesToNamespaceResolver, addXsiTypeAndClassIndicatorIfRequired, addXsiTypeAndClassIndicatorIfRequired, getLeafElementType, getMarshaller, getNamespaceResolver, getOwningObject, hasEqualNamespaceResolvers, isNamespaceAware, resolveNamespacePrefix, setCustomNamespaceMapper, setEqualNamespaceResolvers, setLeafElementType, setNamespaceResolver, setOwningObject, setXOPPackage, writeXsiTypeAttribute, writeXsiTypeAttribute
Methods inherited from interface org.eclipse.persistence.internal.oxm.record.MarshalRecord
attributeWithoutQName, hasCustomNamespaceMapper, isXOPPackage, removeExtraNamespacesFromNamespaceResolver, setLeafElementType
Methods inherited from interface org.eclipse.persistence.internal.oxm.record.XMLRecord
getConversionManager, getNamespaceSeparator, getSession
-
Field Details
-
builder
-
isStartElementOpen
protected boolean isStartElementOpen -
isProcessingCData
protected boolean isProcessingCData -
encoder
-
-
Constructor Details
-
WriterRecord
public WriterRecord()
-
-
Method Details
-
getWriter
Return the Writer that the object will be marshalled to.- Returns:
- The marshal target.
-
setWriter
Set the Writer that the object will be marshalled to.- Parameters:
writer
- The marshal target.
-
startDocument
INTERNAL:- Specified by:
startDocument
in classMarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
- Parameters:
encoding
- The XML document will be encoded using this encoding.version
- This specifies the version of XML.
-
writeHeader
public void writeHeader()INTERNAL- Overrides:
writeHeader
in classMarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
-
endDocument
public void endDocument()INTERNAL:- Specified by:
endDocument
in classMarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
-
openStartElement
public void openStartElement(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) INTERNAL:- Specified by:
openStartElement
in interfaceorg.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> - Overrides:
openStartElement
in classMarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
- Parameters:
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).
-
element
public void element(org.eclipse.persistence.internal.oxm.XPathFragment frag) INTERNAL:- Specified by:
element
in classMarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
- Parameters:
frag
- The XPathFragment of the element
-
attribute
public void attribute(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver, String value) INTERNAL:- Specified by:
attribute
in interfaceorg.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> - Specified by:
attribute
in classMarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
- Parameters:
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.
-
startPrefixMappings
public void startPrefixMappings(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) INTERNAL: override so we don't iterate over namespaces when startPrefixMapping doesn't do anything- Overrides:
startPrefixMappings
in classMarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
-
attribute
INTERNAL:- Specified by:
attribute
in interfaceorg.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> - Specified by:
attribute
in interfaceorg.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> - Specified by:
attribute
in classMarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
- Parameters:
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.
-
closeStartElement
public void closeStartElement()INTERNAL:- Specified by:
closeStartElement
in interfaceorg.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> - Specified by:
closeStartElement
in classMarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
-
endElement
public void endElement(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) INTERNAL:- Specified by:
endElement
in interfaceorg.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> - Specified by:
endElement
in classMarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
- Parameters:
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).
-
characters
INTERNAL:- Specified by:
characters
in interfaceorg.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> - Specified by:
characters
in classMarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
- Parameters:
value
- This is the entire value of the text node.
-
cdata
INTERNAL:- Specified by:
cdata
in interfaceorg.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> - Specified by:
cdata
in classMarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
- Parameters:
value
- This is the value of the text to be wrapped
-
writeValue
INTERNAL: -
writeValue
INTERNAL: -
node
public void node(Node node, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver, String newNamespace, String newName) Receive notification of a node.- Specified by:
node
in classMarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
- Parameters:
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 node
-
setMarshaller
public void setMarshaller(org.eclipse.persistence.internal.oxm.XMLMarshaller marshaller) - Specified by:
setMarshaller
in interfaceorg.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> - Specified by:
setMarshaller
in interfaceorg.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> - Overrides:
setMarshaller
in classorg.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>
-
flush
public void flush()- Specified by:
flush
in interfaceorg.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> - Overrides:
flush
in classMarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
-