org.eclipse.persistence.oxm.record
Class JSONFormattedWriterRecord
java.lang.Object
org.eclipse.persistence.internal.core.sessions.CoreAbstractRecord
org.eclipse.persistence.internal.sessions.AbstractRecord
org.eclipse.persistence.oxm.record.XMLRecord
org.eclipse.persistence.oxm.record.MarshalRecord
org.eclipse.persistence.oxm.record.JSONWriterRecord
org.eclipse.persistence.oxm.record.JSONFormattedWriterRecord
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, java.util.Map, org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,NamespaceResolver,XMLUnmarshaller>, org.eclipse.persistence.internal.oxm.record.XMLRecord<org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,NamespaceResolver,XMLUnmarshaller>, Record
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,
Serialized Form
| Nested classes/interfaces inherited from class org.eclipse.persistence.internal.sessions.AbstractRecord |
org.eclipse.persistence.internal.sessions.AbstractRecord.EntrySet, org.eclipse.persistence.internal.sessions.AbstractRecord.KeySet, org.eclipse.persistence.internal.sessions.AbstractRecord.NoEntry, org.eclipse.persistence.internal.sessions.AbstractRecord.RecordEntry, org.eclipse.persistence.internal.sessions.AbstractRecord.RecordEntryIterator, org.eclipse.persistence.internal.sessions.AbstractRecord.RecordKeyIterator, org.eclipse.persistence.internal.sessions.AbstractRecord.RecordValuesIterator, org.eclipse.persistence.internal.sessions.AbstractRecord.ValuesSet |
| Nested classes/interfaces inherited from interface org.eclipse.persistence.internal.oxm.record.XMLRecord |
org.eclipse.persistence.internal.oxm.record.XMLRecord.Nil |
| Nested classes/interfaces inherited from interface java.util.Map |
java.util.Map.Entry<K,V> |
| Fields inherited from class org.eclipse.persistence.oxm.record.JSONWriterRecord |
attributePrefix, callbackName, characterEscapeHandler, charactersAllowed, encoder, isProcessingCData, isStartElementOpen, levels, NULL, space, writer |
| Fields inherited from class org.eclipse.persistence.internal.sessions.AbstractRecord |
fields, lookupField, noEntry, nullValueInFields, size, values |
| Fields inherited from interface org.eclipse.persistence.internal.oxm.record.XMLRecord |
NIL |
|
Method Summary |
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,
NamespaceResolver namespaceResolver)
INTERNAL: |
protected void |
endEmptyCollection()
|
void |
node(org.w3c.dom.Node node,
NamespaceResolver namespaceResolver)
Receive notification of a node. |
void |
openStartElement(org.eclipse.persistence.internal.oxm.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(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment)
|
| 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, getNamespaceSeparator, getStringForQName, getTextWrapperFragment, getWriter, 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, getCycleDetectionStack, getDocument, getDOM, getGroupingElements, getLocalName, getNameForFragment, getNameForFragmentBytes, getNamespaceURI, getPositionalNodes, getPrefixForFragment, getValueToWrite, openStartGroupingElements, predicateAttribute, processNamespaceResolverForXSIPrefix, put, removeGroupingElement, setGroupingElement, setSession, startPrefixMapping, transformToXML, writeHeader |
| Methods inherited from class org.eclipse.persistence.oxm.record.XMLRecord |
addExtraNamespacesToNamespaceResolver, addXsiTypeAndClassIndicatorIfRequired, addXsiTypeAndClassIndicatorIfRequired, attributeWithoutQName, contains, convertToXMLField, convertToXMLField, get, get, getCurrentObject, getDocPresPolicy, getIndicatingNoEntry, getLeafElementType, getMarshaller, getNamespaceResolver, getOwningObject, getSession, getUnmarshaller, hasCustomNamespaceMapper, hasEqualNamespaceResolvers, isNamespaceAware, isXOPPackage, put, removeExtraNamespacesFromNamespaceResolver, resolveNamespacePrefix, setCurrentObject, setCustomNamespaceMapper, setDocPresPolicy, setEqualNamespaceResolvers, setLeafElementType, setLeafElementType, setNamespaceResolver, setOwningObject, setUnmarshaller, setXOPPackage, writeXsiTypeAttribute, writeXsiTypeAttribute |
| Methods inherited from class org.eclipse.persistence.internal.sessions.AbstractRecord |
clone, containsKey, containsKey, containsKey, containsValue, elements, entrySet, get, getField, getFields, getIndicatingNoEntry, getLookupField, getValues, getValues, getValues, hasNullValueInFields, isEmpty, keys, keySet, mergeFrom, put, putAll, remove, remove, remove, replaceAt, resetSize, setFields, setNullValueInFields, setValues, size, toString, values |
| Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.eclipse.persistence.internal.oxm.record.MarshalRecord |
addXsiTypeAndClassIndicatorIfRequired, addXsiTypeAndClassIndicatorIfRequired, attributeWithoutQName, hasCustomNamespaceMapper, isXOPPackage, removeExtraNamespacesFromNamespaceResolver, setLeafElementType, writeXsiTypeAttribute |
| Methods inherited from interface org.eclipse.persistence.internal.oxm.record.XMLRecord |
addExtraNamespacesToNamespaceResolver, getMarshaller, getNamespaceResolver, getSession, getUnmarshaller, hasEqualNamespaceResolvers, isNamespaceAware, resolveNamespacePrefix |
| Methods inherited from interface java.util.Map |
equals, hashCode |
JSONFormattedWriterRecord
public JSONFormattedWriterRecord()
JSONFormattedWriterRecord
public JSONFormattedWriterRecord(java.io.Writer writer)
JSONFormattedWriterRecord
public JSONFormattedWriterRecord(java.io.Writer writer,
java.lang.String callbackName)
startDocument
public void startDocument(java.lang.String encoding,
java.lang.String version)
- Description copied from class:
JSONWriterRecord
- INTERNAL:
- Overrides:
startDocument in class JSONWriterRecord
- 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 class JSONWriterRecord
closeComplex
protected void closeComplex()
throws java.io.IOException
- Overrides:
closeComplex in class JSONWriterRecord
- Throws:
java.io.IOException
openStartElement
public void openStartElement(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
NamespaceResolver namespaceResolver)
- INTERNAL:
- Specified by:
openStartElement in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,NamespaceResolver,XMLUnmarshaller>- Overrides:
openStartElement in class JSONWriterRecord
- 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:
- Overrides:
element in class JSONWriterRecord
- Parameters:
frag - The XPathFragment of the element
endElement
public void endElement(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
NamespaceResolver namespaceResolver)
- INTERNAL:
- Specified by:
endElement in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,NamespaceResolver,XMLUnmarshaller>- Overrides:
endElement in class JSONWriterRecord
- 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 interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,NamespaceResolver,XMLUnmarshaller>- Overrides:
startCollection in class JSONWriterRecord
- See Also:
endCollection
endEmptyCollection
protected void endEmptyCollection()
- Overrides:
endEmptyCollection in class JSONWriterRecord
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 interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,NamespaceResolver,XMLUnmarshaller>- Overrides:
endCollection in class JSONWriterRecord
- See Also:
startCollection
characters
public void characters(java.lang.String value)
- INTERNAL:
- Specified by:
characters in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,NamespaceResolver,XMLUnmarshaller>- Overrides:
characters in class JSONWriterRecord
- 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 interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,NamespaceResolver,XMLUnmarshaller>- Overrides:
node in class MarshalRecord
- 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(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment)
throws java.io.IOException
- Overrides:
writeKey in class JSONWriterRecord
- Throws:
java.io.IOException