Class 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
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:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected classThis 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
FieldsModifier and TypeFieldDescriptionprotected static final byte[]protected static final byteprotected static final byte[]protected static final byte[]protected static final byteprotected static final byte[]protected static final byte[]protected static final byte[]protected booleanprotected booleanprotected static final byte[]protected static final byte[]protected static final byte[]protected static final byte[]protected static final byteprotected static final byte[]protected OutputStreamprotected static final byte[]protected static final byte[]protected static final byte[]protected static final byteFields inherited from class org.eclipse.persistence.oxm.record.MarshalRecord
COLON_W_SCHEMA_NIL_ATTRIBUTE, textWrapperFragment, TRUEFields inherited from class org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecordImpl
equalNamespaceResolvers, hasCustomNamespaceMapper, marshaller, namespaceAware, namespaceResolver, sessionFields inherited from interface org.eclipse.persistence.internal.oxm.record.XMLRecord
DEFAULT_ATTRIBUTE_GROUP, NIL -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidINTERNAL:voidattribute(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver, String value) INTERNAL:voidINTERNAL:voidcharacters(String value) INTERNAL:voidINTERNAL:voidelement(org.eclipse.persistence.internal.oxm.XPathFragment frag) INTERNAL:voidINTERNAL:voidendElement(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) INTERNAL:voidflush()Return the OutputStream that the object will be marshalled to.voidnode(Node node, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver, String uri, String localName) Receive notification of a node.voidopenStartElement(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) INTERNAL:protected voidoutputStreamWrite(byte aByte) protected voidoutputStreamWrite(byte[] bytes) protected voidoutputStreamWrite(byte[] bytes, OutputStream os) protected voidoutputStreamWrite(byte aByte, OutputStream os) voidsetOutputStream(OutputStream outputStream) Set the OutputStream that the object will be marshalled to.voidstartDocument(String encoding, 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 anythingvoidINTERNALprotected voidwriteValue(String value, boolean escapeChars) INTERNAL:protected voidwriteValue(String value, boolean escapeChars, boolean isAttribute, 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, transformToXMLMethods 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, writeXsiTypeAttributeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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, writeXsiTypeAttributeMethods inherited from interface org.eclipse.persistence.internal.oxm.record.MarshalRecord
attributeWithoutQName, hasCustomNamespaceMapper, isXOPPackage, removeExtraNamespacesFromNamespaceResolver, setLeafElementType, setMarshallerMethods inherited from interface org.eclipse.persistence.internal.oxm.record.XMLRecord
getConversionManager, getNamespaceSeparator, getSession
-
Field Details
-
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:
-
CLOSE_ATTRIBUTE_VALUE
protected static final byte CLOSE_ATTRIBUTE_VALUE- See Also:
-
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:
-
CLOSE_ELEMENT
protected static final byte CLOSE_ELEMENT- See Also:
-
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
-
isStartElementOpen
protected boolean isStartElementOpen -
isProcessingCData
protected boolean isProcessingCData
-
-
Constructor Details
-
OutputStreamRecord
public OutputStreamRecord()
-
-
Method Details
-
getOutputStream
Return the OutputStream that the object will be marshalled to.- Returns:
- The marshal target.
-
setOutputStream
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:
startPrefixMappingsin classMarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
-
startDocument
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, 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.
-
attribute
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
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
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
INTERNAL: -
writeValue
INTERNAL: -
node
public void node(Node node, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver, String uri, String localName) 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 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:
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>
-
outputStreamWrite
protected void outputStreamWrite(byte[] bytes) -
outputStreamWrite
-
outputStreamWrite
protected void outputStreamWrite(byte aByte) -
outputStreamWrite
-