Class OutputStreamRecord
- 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.OutputStreamRecord
-
- 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:
FormattedOutputStreamRecord
public class OutputStreamRecord extends MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
Use this type of MarshalRecord when the marshal target is an OutputStream and the XML should not be formatted with carriage returns or 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.setOutputStream(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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
OutputStreamRecord.OutputStreamRecordContentHandler
This class will typically be used in conjunction with an XMLFragmentReader.
-
Field Summary
Fields Modifier and Type Field Description 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[]
ENCODING
protected static byte[]
GT
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[]
SLASH_N
protected static byte[]
SLASH_R
protected static byte
SPACE
-
Fields inherited from class org.eclipse.persistence.oxm.record.MarshalRecord
COLON_W_SCHEMA_NIL_ATTRIBUTE, textWrapperFragment, TRUE
-
-
Constructor Summary
Constructors Constructor Description OutputStreamRecord()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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.OutputStream
getOutputStream()
Return the OutputStream that the object will be marshalled to.void
node(org.w3c.dom.Node node, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver, java.lang.String uri, java.lang.String localName)
Receive notification of a node.void
openStartElement(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
INTERNAL:protected void
outputStreamWrite(byte aByte)
protected void
outputStreamWrite(byte[] bytes)
protected void
outputStreamWrite(byte[] bytes, java.io.OutputStream os)
protected void
outputStreamWrite(byte aByte, java.io.OutputStream os)
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(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
INTERNAL: override so we don't iterate over namespaces when startPrefixMapping doesn't do anythingvoid
writeHeader()
INTERNALprotected void
writeValue(java.lang.String value, boolean escapeChars)
INTERNAL:protected void
writeValue(java.lang.String value, boolean escapeChars, boolean isAttribute, java.io.OutputStream os)
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, setMarshaller, 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
-
-
-
-
Field Detail
-
OPEN_XML_PI_AND_VERSION_ATTRIBUTE
protected static final byte[] OPEN_XML_PI_AND_VERSION_ATTRIBUTE
-
OPEN_ENCODING_ATTRIBUTE
protected static final byte[] OPEN_ENCODING_ATTRIBUTE
-
CLOSE_PI
protected static final byte[] CLOSE_PI
-
SPACE
protected static final byte SPACE
- See Also:
- Constant Field Values
-
CLOSE_ATTRIBUTE_VALUE
protected static final byte CLOSE_ATTRIBUTE_VALUE
- See Also:
- Constant Field Values
-
OPEN_CDATA
protected static final byte[] OPEN_CDATA
-
CLOSE_CDATA
protected static final byte[] CLOSE_CDATA
-
OPEN_COMMENT
protected static final byte[] OPEN_COMMENT
-
CLOSE_COMMENT
protected static final byte[] CLOSE_COMMENT
-
OPEN_START_ELEMENT
protected static final byte OPEN_START_ELEMENT
- See Also:
- Constant Field Values
-
CLOSE_ELEMENT
protected static final byte CLOSE_ELEMENT
- See Also:
- Constant Field Values
-
AMP
protected static final byte[] AMP
-
LT
protected static final byte[] LT
-
GT
protected static final byte[] GT
-
QUOT
protected static final byte[] QUOT
-
ENCODING
protected static final byte[] ENCODING
-
SLASH_N
protected static final byte[] SLASH_N
-
SLASH_R
protected static final byte[] SLASH_R
-
outputStream
protected java.io.OutputStream outputStream
-
isStartElementOpen
protected boolean isStartElementOpen
-
isProcessingCData
protected boolean isProcessingCData
-
-
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:
outputStream
- The marshal target.
-
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>
-
startDocument
public void startDocument(java.lang.String encoding, java.lang.String version)
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, java.lang.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.
-
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 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
public void characters(java.lang.String value)
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
public void cdata(java.lang.String value)
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
protected void writeValue(java.lang.String value, boolean escapeChars)
INTERNAL:
-
writeValue
protected void writeValue(java.lang.String value, boolean escapeChars, boolean isAttribute, java.io.OutputStream os)
INTERNAL:
-
node
public void node(org.w3c.dom.Node node, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver, java.lang.String uri, java.lang.String localName)
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 nodeuri
- replacement root name for the nodelocalName
- replacement root namespace for the node namespace URI/prefix of the node
-
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>
-
outputStreamWrite
protected void outputStreamWrite(byte[] bytes)
-
outputStreamWrite
protected void outputStreamWrite(byte[] bytes, java.io.OutputStream os)
-
outputStreamWrite
protected void outputStreamWrite(byte aByte)
-
outputStreamWrite
protected void outputStreamWrite(byte aByte, java.io.OutputStream os)
-
-