public class JSONFormattedWriterRecord extends JSONWriterRecord
Use this type of MarshalRecord when the marshal target is a Writer and the JSON should be formatted with carriage returns and indenting.
XMLContext xmlContext = new XMLContext("session-name");
XMLMarshaller xmlMarshaller = xmlContext.createMarshaller();
JSONFormattedWriterRecord jsonFormattedRecord = new JSONFormattedWriterRecord();
jsonFormattedWriterRecord.setWriter(myWriter);
xmlMarshaller.marshal(myObject, jsonFormattedWriterRecord);
If the marshal(Writer) and setMediaType(MediaType.APPLICATION_JSON) and setFormattedOutput(true) method is called on XMLMarshaller, then the Writer is automatically wrapped in a JSONFormattedWriterRecord.
XMLContext xmlContext = new XMLContext("session-name");
XMLMarshaller xmlMarshaller = xmlContext.createMarshaller();
xmlMarshaller.setMediaType(MediaType.APPLICATION_JSON);
xmlMarshaller.setFormattedOutput(true);
xmlMarshaller.marshal(myObject, myWriter);
XMLMarshaller
JSONWriterRecord.JSONWriterRecordContentHandler, JSONWriterRecord.Level, JSONWriterRecord.Output, JSONWriterRecord.OutputStreamOutput
MarshalRecord.CycleDetectionStack<E>
attributePrefix, callbackName, characterEscapeHandler, charactersAllowed, encoder, isProcessingCData, level, NULL, writer
COLON_W_SCHEMA_NIL_ATTRIBUTE, textWrapperFragment, TRUE
Constructor and Description |
---|
JSONFormattedWriterRecord() |
JSONFormattedWriterRecord(java.io.OutputStream outputStream) |
JSONFormattedWriterRecord(java.io.OutputStream outputStream,
java.lang.String callbackName) |
JSONFormattedWriterRecord(java.io.Writer writer) |
JSONFormattedWriterRecord(java.io.Writer writer,
java.lang.String callbackName) |
Modifier and Type | Method and Description |
---|---|
void |
characters(java.lang.String value)
INTERNAL:
|
protected void |
closeComplex() |
void |
element(org.eclipse.persistence.internal.oxm.XPathFragment frag)
INTERNAL:
|
void |
endCollection()
This method is used to inform the MarshalRecord that it is done receiving
element events that are part of a collection.
|
void |
endDocument()
INTERNAL:
|
void |
endElement(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
INTERNAL:
|
protected void |
endEmptyCollection() |
void |
node(org.w3c.dom.Node node,
org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
Receive notification of a node.
|
void |
openStartElement(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
INTERNAL:
|
void |
startCollection()
This method is used to inform the MarshalRecord that the element events
it is about to receive are part of a collection.
|
void |
startDocument(java.lang.String encoding,
java.lang.String version)
INTERNAL:
|
protected void |
writeKey(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment) |
protected void |
writeListSeparator() |
protected void |
writeSeparator() |
attribute, attribute, attribute, cdata, characters, characters, characters, closeStartElement, defaultNamespaceDeclaration, emptyAttribute, emptyCollection, emptyComplex, emptySimple, endCallback, endPrefixMappings, flush, forceValueWrapper, getNamespaceSeparator, getStringForQName, getTextWrapperFragment, getWriter, isWrapperAsCollectionName, marshalWithoutRootElement, namespaceDeclaration, namespaceDeclarations, nilComplex, nilSimple, node, setCallbackName, setMarshaller, setWriter, startCallback, startPrefixMappings, writeValue
add, addGroupingElement, addPositionalNodes, afterContainmentMarshal, beforeContainmentMarshal, clear, closeStartGroupingElements, endPrefixMapping, getCurrentAttributeGroup, getCycleDetectionStack, getDocument, getDOM, getGroupingElements, getLocalName, getNameForFragment, getNamespaceURI, getPositionalNodes, getPrefixBytes, getPrefixForFragment, getValueToWrite, openStartGroupingElements, popAttributeGroup, predicateAttribute, processNamespaceResolverForXSIPrefix, pushAttributeGroup, put, removeGroupingElement, setGroupingElement, setSession, startPrefixMapping, transformToXML, writeHeader
addExtraNamespacesToNamespaceResolver, addXsiTypeAndClassIndicatorIfRequired, addXsiTypeAndClassIndicatorIfRequired, attributeWithoutQName, getLeafElementType, getMarshaller, getNamespaceResolver, getOwningObject, getSession, hasCustomNamespaceMapper, hasEqualNamespaceResolvers, isNamespaceAware, isXOPPackage, removeExtraNamespacesFromNamespaceResolver, resolveNamespacePrefix, setCustomNamespaceMapper, setEqualNamespaceResolvers, setLeafElementType, setLeafElementType, setNamespaceResolver, setOwningObject, setXOPPackage, writeXsiTypeAttribute, writeXsiTypeAttribute
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
attributeWithoutQName, hasCustomNamespaceMapper, isXOPPackage, removeExtraNamespacesFromNamespaceResolver, setLeafElementType
addExtraNamespacesToNamespaceResolver, addXsiTypeAndClassIndicatorIfRequired, addXsiTypeAndClassIndicatorIfRequired, getLeafElementType, getMarshaller, getNamespaceResolver, getOwningObject, hasEqualNamespaceResolvers, isNamespaceAware, resolveNamespacePrefix, setCustomNamespaceMapper, setEqualNamespaceResolvers, setLeafElementType, setNamespaceResolver, setOwningObject, setXOPPackage, writeXsiTypeAttribute, writeXsiTypeAttribute
public JSONFormattedWriterRecord()
public JSONFormattedWriterRecord(java.io.OutputStream outputStream)
public JSONFormattedWriterRecord(java.io.OutputStream outputStream, java.lang.String callbackName)
public JSONFormattedWriterRecord(java.io.Writer writer)
public JSONFormattedWriterRecord(java.io.Writer writer, java.lang.String callbackName)
public void startDocument(java.lang.String encoding, java.lang.String version)
JSONWriterRecord
startDocument
in class JSONWriterRecord
encoding
- The XML document will be encoded using this encoding.version
- This specifies the version of XML.public void endDocument()
endDocument
in class JSONWriterRecord
protected void closeComplex() throws java.io.IOException
closeComplex
in class JSONWriterRecord
java.io.IOException
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 JSONWriterRecord
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 JSONWriterRecord
frag
- The XPathFragment of the elementprotected void writeListSeparator() throws java.io.IOException
writeListSeparator
in class JSONWriterRecord
java.io.IOException
protected void writeSeparator() throws java.io.IOException
writeSeparator
in class JSONWriterRecord
java.io.IOException
public 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 JSONWriterRecord
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 startCollection()
MarshalRecord
startCollection
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>
startCollection
in class JSONWriterRecord
endCollection
protected void endEmptyCollection()
endEmptyCollection
in class JSONWriterRecord
public void endCollection()
MarshalRecord
endCollection
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>
endCollection
in class JSONWriterRecord
startCollection
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 JSONWriterRecord
value
- This is the entire value of the text node.public void node(org.w3c.dom.Node node, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
node
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>
node
in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
node
- The Node to be added to the documentnamespaceResolver
- The NamespaceResolver can be used to resolve the
namespace URI/prefix of the nodeprotected void writeKey(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment) throws java.io.IOException
writeKey
in class JSONWriterRecord
java.io.IOException