EclipseLink 2.4.0, build 'v20110922-r10146' API Reference

org.eclipse.persistence.oxm.record
Class JSONFormattedWriterRecord

java.lang.Object
  extended by org.eclipse.persistence.internal.sessions.AbstractRecord
      extended by org.eclipse.persistence.oxm.record.XMLRecord
          extended by org.eclipse.persistence.oxm.record.MarshalRecord
              extended by org.eclipse.persistence.oxm.record.JSONWriterRecord
                  extended by org.eclipse.persistence.oxm.record.JSONFormattedWriterRecord
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.util.Map, 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 Class Summary
 
Nested classes/interfaces inherited from class org.eclipse.persistence.oxm.record.JSONWriterRecord
JSONWriterRecord.Level, JSONWriterRecord.WriterRecordContentHandler
 
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 java.util.Map
java.util.Map.Entry<K,V>
 
Field Summary
 
Fields inherited from class org.eclipse.persistence.oxm.record.JSONWriterRecord
attributePrefix, isProcessingCData, isStartElementOpen, levels, namespaceAware, namespaces, namespaceSeperator, NULL, writer
 
Fields inherited from class org.eclipse.persistence.oxm.record.MarshalRecord
COLON_W_SCHEMA_NIL_ATTRIBUTE, TRUE
 
Fields inherited from class org.eclipse.persistence.oxm.record.XMLRecord
currentObject, marshaller, NIL, session, unmarshaller
 
Fields inherited from class org.eclipse.persistence.internal.sessions.AbstractRecord
fields, lookupField, noEntry, nullValueInFields, size, values
 
Constructor Summary
JSONFormattedWriterRecord()
           
 
Method Summary
 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, NamespaceResolver namespaceResolver)
          INTERNAL:
 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:
 
Methods inherited from class org.eclipse.persistence.oxm.record.JSONWriterRecord
attribute, attribute, attribute, cdata, characters, closeStartElement, emptyComplex, emptySimple, endCollection, endPrefixMappings, getWriter, namespaceDeclarations, nilComplex, nilSimple, setMarshaller, setWriter, startCollection, startDocument, startPrefixMappings, writeStringValueCharacters, writeValue
 
Methods inherited from class org.eclipse.persistence.oxm.record.MarshalRecord
add, addGroupingElement, addPositionalNodes, afterContainmentMarshal, beforeContainmentMarshal, clear, closeStartGroupingElements, emptyAttribute, endPrefixMapping, getDocument, getDOM, getGroupingElements, getLocalName, getNamespaceURI, getPositionalNodes, getStringForQName, getValueToWrite, openStartGroupingElements, predicateAttribute, processNamespaceResolverForXSIPrefix, put, removeGroupingElement, setGroupingElement, startPrefixMapping, transformToXML
 
Methods inherited from class org.eclipse.persistence.oxm.record.XMLRecord
contains, convertToXMLField, convertToXMLField, get, getCurrentObject, getDocPresPolicy, getIndicatingNoEntry, getLeafElementType, getMarshaller, getNamespaceResolver, getOwningObject, getSession, getUnmarshaller, isXOPPackage, resolveNamespacePrefix, setCurrentObject, setDocPresPolicy, setLeafElementType, setNamespaceResolver, setOwningObject, setSession, setUnmarshaller, setXOPPackage
 
Methods inherited from class org.eclipse.persistence.internal.sessions.AbstractRecord
clone, containsKey, containsKey, containsKey, containsValue, elements, entrySet, get, get, getField, getFields, getIndicatingNoEntry, getLookupField, getValues, getValues, getValues, hasNullValueInFields, isEmpty, keys, keySet, mergeFrom, put, 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 java.util.Map
equals, hashCode
 

Constructor Detail

JSONFormattedWriterRecord

public JSONFormattedWriterRecord()
Method Detail

endDocument

public void endDocument()
INTERNAL:

Overrides:
endDocument in class JSONWriterRecord

openStartElement

public void openStartElement(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
                             NamespaceResolver namespaceResolver)
INTERNAL:

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:

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).

characters

public void characters(java.lang.String value)
INTERNAL:

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.

Overrides:
node in class JSONWriterRecord
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

EclipseLink 2.4.0, build 'v20110922-r10146' API Reference