Class WriterRecord
- java.lang.Object
-
- org.eclipse.persistence.internal.core.sessions.CoreAbstractRecord
-
- org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecordImpl<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.core.helper.CoreField,MARSHALLER,org.eclipse.persistence.internal.oxm.NamespaceResolver>
-
- org.eclipse.persistence.oxm.record.MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
-
- org.eclipse.persistence.oxm.record.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
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);
- See Also:
XMLMarshaller
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classWriterRecord.WriterRecordContentHandlerThis class will typically be used in conjunction with an XMLFragmentReader.
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.StringBuilderbuilderprotected java.nio.charset.CharsetEncoderencoderprotected booleanisProcessingCDataprotected booleanisStartElementOpen-
Fields inherited from class org.eclipse.persistence.oxm.record.MarshalRecord
COLON_W_SCHEMA_NIL_ATTRIBUTE, textWrapperFragment, TRUE
-
-
Constructor Summary
Constructors Constructor Description WriterRecord()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidattribute(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName, java.lang.String value)INTERNAL:voidattribute(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver, java.lang.String value)INTERNAL:voidcdata(java.lang.String value)INTERNAL:voidcharacters(java.lang.String value)INTERNAL:voidcloseStartElement()INTERNAL:voidelement(org.eclipse.persistence.internal.oxm.XPathFragment frag)INTERNAL:voidendDocument()INTERNAL:voidendElement(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)INTERNAL:voidflush()java.io.WritergetWriter()Return the Writer that the object will be marshalled to.voidnode(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.voidopenStartElement(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)INTERNAL:voidsetMarshaller(org.eclipse.persistence.internal.oxm.XMLMarshaller marshaller)voidsetWriter(java.io.Writer writer)Set the Writer that the object will be marshalled to.voidstartDocument(java.lang.String encoding, java.lang.String version)INTERNAL:voidstartPrefixMappings(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)INTERNAL: override so we don't iterate over namespaces when startPrefixMapping doesn't do anythingvoidwriteHeader()INTERNALprotected voidwriteValue(java.lang.String value)INTERNAL:protected voidwriteValue(java.lang.String value, boolean isAttribute, java.lang.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
-
-
-
-
Method Detail
-
getWriter
public java.io.Writer getWriter()
Return the Writer that the object will be marshalled to.- Returns:
- The marshal target.
-
setWriter
public void setWriter(java.io.Writer writer)
Set the Writer that the object will be marshalled to.- Parameters:
writer- The marshal target.
-
startDocument
public void startDocument(java.lang.String encoding, java.lang.String version)INTERNAL:- Specified by:
startDocumentin 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:
writeHeaderin classMarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
-
endDocument
public void endDocument()
INTERNAL:- Specified by:
endDocumentin 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:
openStartElementin 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:
openStartElementin 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:
elementin 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, java.lang.String value)INTERNAL:- Specified by:
attributein 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:
attributein 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:
startPrefixMappingsin classMarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
-
attribute
public void attribute(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName, java.lang.String value)INTERNAL:- Specified by:
attributein 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:
attributein 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:
attributein 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:
closeStartElementin 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:
closeStartElementin 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:
endElementin 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:
endElementin 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
public void characters(java.lang.String value)
INTERNAL:- Specified by:
charactersin 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:
charactersin classMarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>- Parameters:
value- This is the entire value of the text node.
-
cdata
public void cdata(java.lang.String value)
INTERNAL:- Specified by:
cdatain 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:
cdatain classMarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>- Parameters:
value- This is the value of the text to be wrapped
-
writeValue
protected void writeValue(java.lang.String value)
INTERNAL:
-
writeValue
protected void writeValue(java.lang.String value, boolean isAttribute, java.lang.StringBuilder writer)INTERNAL:
-
node
public 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.- Specified by:
nodein 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:
setMarshallerin 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:
setMarshallerin 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:
setMarshallerin 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:
flushin 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:
flushin classMarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
-
-