Class JSONFormattedWriterRecord
- java.lang.Object
-
- org.eclipse.persistence.internal.core.sessions.CoreAbstractRecord
-
- org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecordImpl<CoreAbstractSession,CoreField,MARSHALLER,NamespaceResolver>
-
- org.eclipse.persistence.oxm.record.MarshalRecord<XMLMarshaller>
-
- org.eclipse.persistence.oxm.record.JSONWriterRecord
-
- org.eclipse.persistence.oxm.record.JSONFormattedWriterRecord
-
- All Implemented Interfaces:
AbstractMarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>
,MarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>
,XMLRecord<CoreAbstractSession>
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);
- See Also:
XMLMarshaller
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.persistence.oxm.record.JSONWriterRecord
JSONWriterRecord.JSONWriterRecordContentHandler, JSONWriterRecord.Level, JSONWriterRecord.Output, JSONWriterRecord.OutputStreamOutput
-
Nested classes/interfaces inherited from interface org.eclipse.persistence.internal.oxm.record.MarshalRecord
MarshalRecord.CycleDetectionStack<E>
-
Nested classes/interfaces inherited from interface org.eclipse.persistence.internal.oxm.record.XMLRecord
XMLRecord.Nil
-
-
Field Summary
-
Fields inherited from class org.eclipse.persistence.oxm.record.JSONWriterRecord
attributePrefix, callbackName, characterEscapeHandler, charactersAllowed, encoder, isProcessingCData, level, NULL, writer
-
Fields inherited from class org.eclipse.persistence.oxm.record.MarshalRecord
COLON_W_SCHEMA_NIL_ATTRIBUTE, textWrapperFragment, TRUE
-
Fields inherited from class org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecordImpl
equalNamespaceResolvers, hasCustomNamespaceMapper, marshaller, namespaceAware, namespaceResolver, session
-
Fields inherited from interface org.eclipse.persistence.internal.oxm.record.XMLRecord
DEFAULT_ATTRIBUTE_GROUP, NIL
-
-
Constructor Summary
Constructors Constructor 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)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
characters(java.lang.String value)
INTERNAL:protected void
closeComplex()
void
element(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(XPathFragment xPathFragment, NamespaceResolver namespaceResolver)
INTERNAL:protected void
endEmptyCollection()
void
node(org.w3c.dom.Node node, NamespaceResolver namespaceResolver)
Receive notification of a node.void
openStartElement(XPathFragment xPathFragment, 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(XPathFragment xPathFragment)
protected void
writeListSeparator()
protected void
writeSeparator()
-
Methods inherited from class org.eclipse.persistence.oxm.record.JSONWriterRecord
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
-
Methods inherited from class org.eclipse.persistence.oxm.record.MarshalRecord
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
-
Methods inherited from class org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecordImpl
addExtraNamespacesToNamespaceResolver, addXsiTypeAndClassIndicatorIfRequired, addXsiTypeAndClassIndicatorIfRequired, attributeWithoutQName, getConversionManager, getLeafElementType, getMarshaller, getNamespaceResolver, getOwningObject, getSession, hasCustomNamespaceMapper, hasEqualNamespaceResolvers, isNamespaceAware, isXOPPackage, removeExtraNamespacesFromNamespaceResolver, resolveNamespacePrefix, setCustomNamespaceMapper, setEqualNamespaceResolvers, setLeafElementType, setLeafElementType, 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
-
Methods inherited from interface org.eclipse.persistence.internal.oxm.record.MarshalRecord
attributeWithoutQName, hasCustomNamespaceMapper, isXOPPackage, removeExtraNamespacesFromNamespaceResolver, setLeafElementType
-
Methods inherited from interface org.eclipse.persistence.internal.oxm.record.XMLRecord
getConversionManager, getSession
-
-
-
-
Constructor Detail
-
JSONFormattedWriterRecord
public JSONFormattedWriterRecord()
-
JSONFormattedWriterRecord
public JSONFormattedWriterRecord(java.io.OutputStream outputStream)
-
JSONFormattedWriterRecord
public JSONFormattedWriterRecord(java.io.OutputStream outputStream, java.lang.String callbackName)
-
JSONFormattedWriterRecord
public JSONFormattedWriterRecord(java.io.Writer writer)
-
JSONFormattedWriterRecord
public JSONFormattedWriterRecord(java.io.Writer writer, java.lang.String callbackName)
-
-
Method Detail
-
startDocument
public void startDocument(java.lang.String encoding, java.lang.String version)
Description copied from class:JSONWriterRecord
INTERNAL:- Overrides:
startDocument
in classJSONWriterRecord
- Parameters:
encoding
- The XML document will be encoded using this encoding.version
- This specifies the version of XML.
-
endDocument
public void endDocument()
INTERNAL:- Overrides:
endDocument
in classJSONWriterRecord
-
closeComplex
protected void closeComplex() throws java.io.IOException
- Overrides:
closeComplex
in classJSONWriterRecord
- Throws:
java.io.IOException
-
openStartElement
public void openStartElement(XPathFragment xPathFragment, NamespaceResolver namespaceResolver)
INTERNAL:- Specified by:
openStartElement
in interfaceMarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>
- Overrides:
openStartElement
in classJSONWriterRecord
- 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(XPathFragment frag)
INTERNAL:- Overrides:
element
in classJSONWriterRecord
- Parameters:
frag
- The XPathFragment of the element
-
writeListSeparator
protected void writeListSeparator() throws java.io.IOException
- Overrides:
writeListSeparator
in classJSONWriterRecord
- Throws:
java.io.IOException
-
writeSeparator
protected void writeSeparator() throws java.io.IOException
- Overrides:
writeSeparator
in classJSONWriterRecord
- Throws:
java.io.IOException
-
endElement
public void endElement(XPathFragment xPathFragment, NamespaceResolver namespaceResolver)
INTERNAL:- Specified by:
endElement
in interfaceMarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>
- Overrides:
endElement
in classJSONWriterRecord
- 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).
-
startCollection
public void startCollection()
Description copied from class:MarshalRecord
This method is used to inform the MarshalRecord that the element events it is about to receive are part of a collection.- Specified by:
startCollection
in interfaceMarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>
- Overrides:
startCollection
in classJSONWriterRecord
- See Also:
MarshalRecord.endCollection()
-
endEmptyCollection
protected void endEmptyCollection()
- Overrides:
endEmptyCollection
in classJSONWriterRecord
-
endCollection
public void endCollection()
Description copied from class:MarshalRecord
This method is used to inform the MarshalRecord that it is done receiving element events that are part of a collection.- Specified by:
endCollection
in interfaceMarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>
- Overrides:
endCollection
in classJSONWriterRecord
- See Also:
MarshalRecord.startCollection()
-
characters
public void characters(java.lang.String value)
INTERNAL:- Specified by:
characters
in interfaceMarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>
- Overrides:
characters
in classJSONWriterRecord
- Parameters:
value
- This is the entire value of the text node.
-
node
public void node(org.w3c.dom.Node node, NamespaceResolver namespaceResolver)
Receive notification of a node.- Specified by:
node
in interfaceMarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>
- Overrides:
node
in classMarshalRecord<XMLMarshaller>
- Parameters:
node
- The Node to be added to the documentnamespaceResolver
- The NamespaceResolver can be used to resolve the namespace URI/prefix of the node
-
writeKey
protected void writeKey(XPathFragment xPathFragment) throws java.io.IOException
- Overrides:
writeKey
in classJSONWriterRecord
- Throws:
java.io.IOException
-
-