EclipseLink 2.5.0, build 'v20130507-3faac2b' API Reference

org.eclipse.persistence.oxm.record
Class WriterRecord

java.lang.Object
  extended by org.eclipse.persistence.internal.core.sessions.CoreAbstractRecord
      extended by org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecordImpl<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.helper.DatabaseField,MARSHALLER,org.eclipse.persistence.internal.oxm.NamespaceResolver>
          extended by org.eclipse.persistence.oxm.record.MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
              extended by 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.helper.DatabaseField,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.helper.DatabaseField,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
protected  class WriterRecord.WriterRecordContentHandler
          This class will typically be used in conjunction with an XMLFragmentReader.
 
Nested classes/interfaces inherited from class org.eclipse.persistence.oxm.record.MarshalRecord
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
protected  java.nio.charset.CharsetEncoder encoder
           
protected  boolean isProcessingCData
           
protected  boolean isStartElementOpen
           
protected  java.io.Writer writer
           
 
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
WriterRecord()
           
 
Method Summary
 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:
 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.io.Writer 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, getCurrentAttributeGroup, getCycleDetectionStack, getDocument, getDOM, getGroupingElements, getLocalName, getNameForFragment, getNameForFragmentBytes, getNamespaceURI, getPositionalNodes, 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, 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.MarshalRecord
attributeWithoutQName, hasCustomNamespaceMapper, isXOPPackage, removeExtraNamespacesFromNamespaceResolver, setLeafElementType
 
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.XMLRecord
getNamespaceSeparator, getSession
 

Field Detail

writer

protected java.io.Writer writer

isStartElementOpen

protected boolean isStartElementOpen

isProcessingCData

protected boolean isProcessingCData

encoder

protected java.nio.charset.CharsetEncoder encoder
Constructor Detail

WriterRecord

public WriterRecord()
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:
startDocument in class MarshalRecord<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 class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>

endDocument

public void endDocument()
INTERNAL:

Specified by:
endDocument in class MarshalRecord<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 interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.oxm.XMLMarshaller,org.eclipse.persistence.internal.oxm.NamespaceResolver>
Overrides:
openStartElement in class MarshalRecord<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 class MarshalRecord<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:
attribute in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.oxm.XMLMarshaller,org.eclipse.persistence.internal.oxm.NamespaceResolver>
Specified by:
attribute in class MarshalRecord<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 class MarshalRecord<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:
attribute in interface org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.oxm.XMLMarshaller,org.eclipse.persistence.internal.oxm.NamespaceResolver>
Specified by:
attribute in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.oxm.XMLMarshaller,org.eclipse.persistence.internal.oxm.NamespaceResolver>
Specified by:
attribute in class MarshalRecord<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 interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.oxm.XMLMarshaller,org.eclipse.persistence.internal.oxm.NamespaceResolver>
Specified by:
closeStartElement in class MarshalRecord<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 interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.oxm.XMLMarshaller,org.eclipse.persistence.internal.oxm.NamespaceResolver>
Specified by:
endElement in class MarshalRecord<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:
characters in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.oxm.XMLMarshaller,org.eclipse.persistence.internal.oxm.NamespaceResolver>
Specified by:
characters in class MarshalRecord<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:
cdata in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.oxm.XMLMarshaller,org.eclipse.persistence.internal.oxm.NamespaceResolver>
Specified by:
cdata in class MarshalRecord<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.io.Writer 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:
node in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
Parameters:
node - The Node to be added to the document
namespaceResolver - The NamespaceResolver can be used to resolve the namespace URI/prefix of the node
newName - 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 interface org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.oxm.XMLMarshaller,org.eclipse.persistence.internal.oxm.NamespaceResolver>
Specified by:
setMarshaller in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.oxm.XMLMarshaller,org.eclipse.persistence.internal.oxm.NamespaceResolver>
Overrides:
setMarshaller in class org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecordImpl<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.oxm.XMLMarshaller,org.eclipse.persistence.internal.oxm.NamespaceResolver>

EclipseLink 2.5.0, build 'v20130507-3faac2b' API Reference