EclipseLink 2.5.0, build 'v20130507-3faac2b' API Reference

org.eclipse.persistence.oxm.record
Class JSONFormattedWriterRecord

java.lang.Object
  extended by org.eclipse.persistence.internal.core.sessions.CoreAbstractRecord
      extended by org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecordImpl<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.helper.DatabaseField,MARSHALLER,org.eclipse.persistence.internal.oxm.NamespaceResolver>
          extended by org.eclipse.persistence.oxm.record.MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
              extended by org.eclipse.persistence.oxm.record.JSONWriterRecord
                  extended by org.eclipse.persistence.oxm.record.JSONFormattedWriterRecord
All Implemented Interfaces:
org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecord<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>, 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>, org.eclipse.persistence.internal.oxm.record.XMLRecord<org.eclipse.persistence.internal.core.sessions.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
 
Nested classes/interfaces inherited from class org.eclipse.persistence.oxm.record.MarshalRecord
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
 
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.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
JSONFormattedWriterRecord()
           
JSONFormattedWriterRecord(java.io.Writer writer)
           
JSONFormattedWriterRecord(java.io.Writer writer, java.lang.String callbackName)
           
 
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, 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)
           
 
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, 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, getNameForFragmentBytes, getNamespaceURI, getPositionalNodes, 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, 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.MarshalRecord
attributeWithoutQName, hasCustomNamespaceMapper, isXOPPackage, removeExtraNamespacesFromNamespaceResolver, setLeafElementType
 
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.XMLRecord
getSession
 

Constructor Detail

JSONFormattedWriterRecord

public JSONFormattedWriterRecord()

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 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,
                             org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
INTERNAL:

Specified by:
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>
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,
                       org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
INTERNAL:

Specified by:
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>
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.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.oxm.XMLMarshaller,org.eclipse.persistence.internal.oxm.NamespaceResolver>
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.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.oxm.XMLMarshaller,org.eclipse.persistence.internal.oxm.NamespaceResolver>
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.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.oxm.XMLMarshaller,org.eclipse.persistence.internal.oxm.NamespaceResolver>
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,
                 org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
Receive notification of a node.

Specified by:
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>
Overrides:
node in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
Parameters:
node - The Node to be added to the document
namespaceResolver - 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

EclipseLink 2.5.0, build 'v20130507-3faac2b' API Reference