EclipseLink 2.2.0, build 'v20110202-r8913' API Reference

org.eclipse.persistence.oxm.record
Class OutputStreamRecord

java.lang.Object
  extended by org.eclipse.persistence.internal.sessions.AbstractRecord
      extended by org.eclipse.persistence.oxm.record.XMLRecord
          extended by org.eclipse.persistence.oxm.record.MarshalRecord
              extended by org.eclipse.persistence.oxm.record.OutputStreamRecord
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.util.Map, Record
Direct Known Subclasses:
FormattedOutputStreamRecord

public class OutputStreamRecord
extends MarshalRecord

Use this type of MarshalRecord when the marshal target is an OutputStream and the XML should be not be formatted with carriage returns and indenting. This type is only used if the encoding of the OutputStream is UTF-8

XMLContext xmlContext = new XMLContext("session-name");
XMLMarshaller xmlMarshaller = xmlContext.createMarshaller();
OutputStreamRecord record = new OutputStreamRecord();
record.setOutputStreamr(myOutputStream);
xmlMarshaller.marshal(myObject, record);

If the marshal(OutputStream) and setFormattedOutput(false) method is called on XMLMarshaller and the encoding is UTF-8, then the OutputStream is automatically wrapped in an OutputStream.

XMLContext xmlContext = new XMLContext("session-name");
XMLMarshaller xmlMarshaller = xmlContext.createMarshaller();
xmlMarshaller xmlMarshaller.setFormattedOutput(false);
xmlMarshaller.marshal(myObject, myOutputStream);

See Also:
XMLMarshaller, Serialized Form

Nested Class Summary
protected  class OutputStreamRecord.OutputStreamRecordContentHandler
          This class will typically be used in conjunction with an XMLFragmentReader.
 
Nested classes/interfaces inherited from class org.eclipse.persistence.internal.sessions.AbstractRecord
org.eclipse.persistence.internal.sessions.AbstractRecord.EntrySet, org.eclipse.persistence.internal.sessions.AbstractRecord.KeySet, org.eclipse.persistence.internal.sessions.AbstractRecord.NoEntry, org.eclipse.persistence.internal.sessions.AbstractRecord.RecordEntry, org.eclipse.persistence.internal.sessions.AbstractRecord.RecordEntryIterator, org.eclipse.persistence.internal.sessions.AbstractRecord.RecordKeyIterator, org.eclipse.persistence.internal.sessions.AbstractRecord.RecordValuesIterator, org.eclipse.persistence.internal.sessions.AbstractRecord.ValuesSet
 
Nested classes/interfaces inherited from interface java.util.Map
java.util.Map.Entry<K,V>
 
Field Summary
protected static byte[] AMP
           
protected static byte CLOSE_ATTRIBUTE_VALUE
           
protected static byte[] CLOSE_CDATA
           
protected static byte[] CLOSE_COMMENT
           
protected static byte CLOSE_ELEMENT
           
protected static byte[] CLOSE_PI
           
protected static byte[] CR
           
protected static byte[] ENCODING
           
protected  boolean isProcessingCData
           
protected  boolean isStartElementOpen
           
protected static byte[] LT
           
protected static byte[] OPEN_CDATA
           
protected static byte[] OPEN_COMMENT
           
protected static byte[] OPEN_ENCODING_ATTRIBUTE
           
protected static byte OPEN_START_ELEMENT
           
protected static byte[] OPEN_XML_PI_AND_VERSION_ATTRIBUTE
           
protected  java.io.OutputStream outputStream
           
protected static byte[] QUOT
           
protected static byte SPACE
           
 
Fields inherited from class org.eclipse.persistence.oxm.record.XMLRecord
currentObject, marshaller, NIL, session, unmarshaller
 
Fields inherited from class org.eclipse.persistence.internal.sessions.AbstractRecord
fields, lookupField, noEntry, nullValueInFields, size, values
 
Constructor Summary
OutputStreamRecord()
           
 
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, 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, NamespaceResolver namespaceResolver)
          INTERNAL:
 void flush()
           
 java.io.OutputStream getOutputStream()
          Return the OutputStream that the object will be marshalled to.
 void node(org.w3c.dom.Node node, NamespaceResolver namespaceResolver)
          Receive notification of a node.
 void openStartElement(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, NamespaceResolver namespaceResolver)
          INTERNAL:
protected  void outputStreamWrite(byte aByte)
           
protected  void outputStreamWrite(byte[] bytes)
           
 void setOutputStream(java.io.OutputStream outputStream)
          Set the OutputStream that the object will be marshalled to.
 void startDocument(java.lang.String encoding, java.lang.String version)
          INTERNAL:
 void startPrefixMappings(NamespaceResolver namespaceResolver)
          INTERNAL: override so we don't iterate over namespaces when startPrefixMapping doesn't do anything
protected  void writeValue(java.lang.String value, boolean escapeChars)
          INTERNAL:
 
Methods inherited from class org.eclipse.persistence.oxm.record.MarshalRecord
add, addGroupingElement, addPositionalNodes, afterContainmentMarshal, beforeContainmentMarshal, clear, closeStartGroupingElements, endPrefixMapping, endPrefixMappings, getDocument, getDOM, getLocalName, getNamespaceURI, getPositionalNodes, namespaceDeclarations, openStartGroupingElements, put, removeGroupingElement, startPrefixMapping, transformToXML
 
Methods inherited from class org.eclipse.persistence.oxm.record.XMLRecord
contains, convertToXMLField, convertToXMLField, get, getCurrentObject, getDocPresPolicy, getIndicatingNoEntry, getLeafElementType, getMarshaller, getNamespaceResolver, getOwningObject, getSession, getUnmarshaller, isXOPPackage, resolveNamespacePrefix, setCurrentObject, setDocPresPolicy, setLeafElementType, setMarshaller, setNamespaceResolver, setOwningObject, setSession, setUnmarshaller, setXOPPackage
 
Methods inherited from class org.eclipse.persistence.internal.sessions.AbstractRecord
clone, containsKey, containsKey, containsKey, containsValue, elements, entrySet, get, get, getField, getFields, getIndicatingNoEntry, getLookupField, getValues, getValues, getValues, hasNullValueInFields, isEmpty, keys, keySet, mergeFrom, put, put, putAll, remove, remove, remove, replaceAt, resetSize, setFields, setNullValueInFields, setValues, size, toString, values
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Map
equals, hashCode
 

Field Detail

OPEN_XML_PI_AND_VERSION_ATTRIBUTE

protected static byte[] OPEN_XML_PI_AND_VERSION_ATTRIBUTE

OPEN_ENCODING_ATTRIBUTE

protected static byte[] OPEN_ENCODING_ATTRIBUTE

CLOSE_PI

protected static byte[] CLOSE_PI

SPACE

protected static byte SPACE

CR

protected static byte[] CR

CLOSE_ATTRIBUTE_VALUE

protected static byte CLOSE_ATTRIBUTE_VALUE

OPEN_CDATA

protected static byte[] OPEN_CDATA

CLOSE_CDATA

protected static byte[] CLOSE_CDATA

OPEN_COMMENT

protected static byte[] OPEN_COMMENT

CLOSE_COMMENT

protected static byte[] CLOSE_COMMENT

OPEN_START_ELEMENT

protected static byte OPEN_START_ELEMENT

CLOSE_ELEMENT

protected static byte CLOSE_ELEMENT

AMP

protected static byte[] AMP

LT

protected static byte[] LT

QUOT

protected static byte[] QUOT

ENCODING

protected static byte[] ENCODING

outputStream

protected java.io.OutputStream outputStream

isStartElementOpen

protected boolean isStartElementOpen

isProcessingCData

protected boolean isProcessingCData
Constructor Detail

OutputStreamRecord

public OutputStreamRecord()
Method Detail

getOutputStream

public java.io.OutputStream getOutputStream()
Return the OutputStream that the object will be marshalled to.

Returns:
The marshal target.

setOutputStream

public void setOutputStream(java.io.OutputStream outputStream)
Set the OutputStream that the object will be marshalled to.

Parameters:
writer - The marshal target.

startPrefixMappings

public void startPrefixMappings(NamespaceResolver namespaceResolver)
INTERNAL: override so we don't iterate over namespaces when startPrefixMapping doesn't do anything

Overrides:
startPrefixMappings in class MarshalRecord

startDocument

public void startDocument(java.lang.String encoding,
                          java.lang.String version)
INTERNAL:

Specified by:
startDocument in class MarshalRecord
Parameters:
encoding - The XML document will be encoded using this encoding.
version - This specifies the version of XML.

endDocument

public void endDocument()
INTERNAL:

Specified by:
endDocument in class MarshalRecord

openStartElement

public void openStartElement(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
                             NamespaceResolver namespaceResolver)
INTERNAL:

Overrides:
openStartElement in class MarshalRecord
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
Parameters:
frag - The XPathFragment of the element

attribute

public void attribute(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
                      NamespaceResolver namespaceResolver,
                      java.lang.String value)
INTERNAL:

Specified by:
attribute in class MarshalRecord
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.

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 class MarshalRecord
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 class MarshalRecord

endElement

public void endElement(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
                       NamespaceResolver namespaceResolver)
INTERNAL:

Specified by:
endElement in class MarshalRecord
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 class MarshalRecord
Parameters:
value - This is the entire value of the text node.

cdata

public void cdata(java.lang.String value)
INTERNAL:

Specified by:
cdata in class MarshalRecord
Parameters:
value - This is the value of the text to be wrapped

writeValue

protected void writeValue(java.lang.String value,
                          boolean escapeChars)
INTERNAL:


node

public void node(org.w3c.dom.Node node,
                 NamespaceResolver namespaceResolver)
Receive notification of a node.

Specified by:
node in class MarshalRecord
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

flush

public void flush()

outputStreamWrite

protected void outputStreamWrite(byte[] bytes)

outputStreamWrite

protected void outputStreamWrite(byte aByte)

EclipseLink 2.2.0, build 'v20110202-r8913' API Reference