public class FormattedOutputStreamRecord extends OutputStreamRecord
Use this type of MarshalRecord when the marshal target is an OutputStream and the XML should 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();
FormattedOutputStreamRecord record = new FormattedOutputStreamRecord();
record.setOutputStream(myOutputStream);
xmlMarshaller.marshal(myObject, record);
If the marshal(OutputStream) and setFormattedOutput(true) method is called on XMLMarshaller and the encoding is UTF-8, then the OutputStream is automatically wrapped in a FormattedOutputStreamRecord.
XMLContext xmlContext = new XMLContext("session-name");
XMLMarshaller xmlMarshaller = xmlContext.createMarshaller();
xmlMarshaller xmlMarshaller.setFormattedOutput(true);
xmlMarshaller.marshal(myObject, myOutputStream);
XMLMarshaller
OutputStreamRecord.OutputStreamRecordContentHandler
MarshalRecord.CycleDetectionStack<E>
Modifier and Type | Field and Description |
---|---|
protected static byte[] |
CR |
AMP, CLOSE_ATTRIBUTE_VALUE, CLOSE_CDATA, CLOSE_COMMENT, CLOSE_ELEMENT, CLOSE_PI, ENCODING, isProcessingCData, isStartElementOpen, LT, OPEN_CDATA, OPEN_COMMENT, OPEN_ENCODING_ATTRIBUTE, OPEN_START_ELEMENT, OPEN_XML_PI_AND_VERSION_ATTRIBUTE, outputStream, QUOT, SLASH_N, SLASH_R, SPACE
COLON_W_SCHEMA_NIL_ATTRIBUTE, textWrapperFragment, TRUE
Constructor and Description |
---|
FormattedOutputStreamRecord() |
Modifier and Type | Method and Description |
---|---|
void |
cdata(java.lang.String value)
INTERNAL:
|
void |
characters(java.lang.String value)
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 |
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 |
startDocument(java.lang.String encoding,
java.lang.String version)
INTERNAL:
|
void |
writeHeader()
INTERNAL
|
attribute, attribute, closeStartElement, flush, getOutputStream, outputStreamWrite, outputStreamWrite, outputStreamWrite, outputStreamWrite, setOutputStream, startPrefixMappings, writeValue, writeValue
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
addExtraNamespacesToNamespaceResolver, addXsiTypeAndClassIndicatorIfRequired, addXsiTypeAndClassIndicatorIfRequired, attributeWithoutQName, getLeafElementType, getMarshaller, getNamespaceResolver, getNamespaceSeparator, getOwningObject, getSession, hasCustomNamespaceMapper, hasEqualNamespaceResolvers, isNamespaceAware, isXOPPackage, removeExtraNamespacesFromNamespaceResolver, resolveNamespacePrefix, setCustomNamespaceMapper, setEqualNamespaceResolvers, setLeafElementType, setLeafElementType, setMarshaller, setNamespaceResolver, setOwningObject, setXOPPackage, writeXsiTypeAttribute, writeXsiTypeAttribute
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
attributeWithoutQName, hasCustomNamespaceMapper, isXOPPackage, removeExtraNamespacesFromNamespaceResolver, setLeafElementType, setMarshaller
addExtraNamespacesToNamespaceResolver, addXsiTypeAndClassIndicatorIfRequired, addXsiTypeAndClassIndicatorIfRequired, getLeafElementType, getMarshaller, getNamespaceResolver, getOwningObject, hasEqualNamespaceResolvers, isNamespaceAware, resolveNamespacePrefix, setCustomNamespaceMapper, setEqualNamespaceResolvers, setLeafElementType, setNamespaceResolver, setOwningObject, setXOPPackage, writeXsiTypeAttribute, writeXsiTypeAttribute
public void endDocument()
endDocument
in class OutputStreamRecord
public void startDocument(java.lang.String encoding, java.lang.String version)
startDocument
in class OutputStreamRecord
encoding
- The XML document will be encoded using this encoding.version
- This specifies the version of XML.public void writeHeader()
writeHeader
in class OutputStreamRecord
public void openStartElement(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
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>
openStartElement
in class OutputStreamRecord
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).public void element(org.eclipse.persistence.internal.oxm.XPathFragment frag)
element
in class OutputStreamRecord
frag
- The XPathFragment of the elementpublic void endElement(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
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>
endElement
in class OutputStreamRecord
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).public void characters(java.lang.String value)
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>
characters
in class OutputStreamRecord
value
- This is the entire value of the text node.public void cdata(java.lang.String value)
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>
cdata
in class OutputStreamRecord
value
- This is the value of the text to be wrappedpublic void node(org.w3c.dom.Node node, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver, java.lang.String newNamespace, java.lang.String newName)
node
in class OutputStreamRecord
node
- The Node to be added to the documentnamespaceResolver
- The NamespaceResolver can be used to resolve the
namespace URI/prefix of the nodenewName
- replacement root namespace for the node
namespace URI/prefix of the node