|
EclipseLink 2.4.0, build 'v20120126-r10746' API Reference | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.eclipse.persistence.internal.sessions.AbstractRecord
org.eclipse.persistence.oxm.record.XMLRecord
org.eclipse.persistence.oxm.record.MarshalRecord
org.eclipse.persistence.oxm.record.JSONWriterRecord
public class JSONWriterRecord
Use this type of MarshalRecord when the marshal target is a Writer and the JSON should be not be formatted with carriage returns and indenting.
XMLContext xmlContext = new XMLContext("session-name");
XMLMarshaller xmlMarshaller = xmlContext.createMarshaller();
JSONRecord jsonWriterRecord = new JSONWriterRecord();
jsonWriterRecord.setWriter(myWriter);
xmlMarshaller.marshal(myObject, jsonWriterRecord);
If the marshal(Writer) and setMediaType(MediaType.APPLICATION_JSON) and setFormattedOutput(false) method is called on XMLMarshaller, then the Writer is automatically wrapped in a JSONWriterRecord.
XMLContext xmlContext = new XMLContext("session-name");
XMLMarshaller xmlMarshaller = xmlContext.createMarshaller();
xmlMarshaller.setMediaType(MediaType.APPLICATION_JSON);
xmlMarshaller xmlMarshaller.setFormattedOutput(false);
xmlMarshaller.marshal(myObject, myWriter);
XMLMarshaller,
Serialized Form| Nested Class Summary | |
|---|---|
protected static class |
JSONWriterRecord.Level
Instances of this class are used to maintain state about the current level of the JSON message being marshalled. |
protected class |
JSONWriterRecord.WriterRecordContentHandler
This class will typically be used in conjunction with an XMLFragmentReader. |
| 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 | |
|---|---|
protected java.lang.String |
attributePrefix
|
protected boolean |
isProcessingCData
|
protected boolean |
isStartElementOpen
|
protected java.util.Stack<JSONWriterRecord.Level> |
levels
|
protected static java.lang.String |
NULL
|
protected java.io.Writer |
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.oxm.record.XMLRecord |
|---|
currentObject, marshaller, namespaceAware, namespaceResolver, namespaceSeparator, NIL, session, unmarshaller |
| Fields inherited from class org.eclipse.persistence.internal.sessions.AbstractRecord |
|---|
fields, lookupField, noEntry, nullValueInFields, size, values |
| Constructor Summary | |
|---|---|
JSONWriterRecord()
|
|
| Method Summary | |
|---|---|
void |
attribute(java.lang.String namespaceURI,
java.lang.String localName,
java.lang.String qName,
java.lang.String value)
INTERNAL: |
void |
attribute(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
NamespaceResolver namespaceResolver,
java.lang.Object value,
javax.xml.namespace.QName schemaType)
Convert the value if necessary and write out the attribute and converted value. |
void |
attribute(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
NamespaceResolver namespaceResolver,
java.lang.String value)
INTERNAL: |
void |
cdata(java.lang.String value)
INTERNAL: |
void |
characters(javax.xml.namespace.QName schemaType,
java.lang.Object value,
java.lang.String mimeType,
boolean isCDATA)
Convert the value if necessary and write out the converted value. |
void |
characters(java.lang.String value)
INTERNAL: |
void |
closeStartElement()
INTERNAL: |
void |
element(org.eclipse.persistence.internal.oxm.XPathFragment frag)
INTERNAL: |
void |
emptyComplex(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
NamespaceResolver namespaceResolver)
Used when an empty complex item should be written |
void |
emptySimple(NamespaceResolver namespaceResolver)
Used when an empty simple value should be written |
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: |
void |
endPrefixMappings(NamespaceResolver namespaceResolver)
INTERNAL: override so we don't iterate over namespaces when endPrefixMapping doesn't do anything |
org.eclipse.persistence.internal.oxm.XPathFragment |
getTextWrapperFragment()
INTERNAL: The optional fragment used to wrap the text() mappings |
java.io.Writer |
getWriter()
Return the Writer that the object will be marshalled to. |
void |
namespaceDeclarations(NamespaceResolver namespaceResolver)
INTERNAL: |
void |
nilComplex(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
NamespaceResolver namespaceResolver)
INTERNAL: |
void |
nilSimple(NamespaceResolver namespaceResolver)
INTERNAL: |
void |
node(org.w3c.dom.Node node,
NamespaceResolver namespaceResolver)
Receive notification of a node. |
protected void |
nonStringCharacters(java.lang.String value)
|
void |
openStartElement(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
NamespaceResolver namespaceResolver)
INTERNAL: |
void |
setMarshaller(XMLMarshaller marshaller)
INTERNAL: |
void |
setWriter(java.io.Writer writer)
Set the Writer that the object will be marshalled to. |
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: |
void |
startPrefixMappings(NamespaceResolver namespaceResolver)
INTERNAL: override so we don't iterate over namespaces when startPrefixMapping doesn't do anything |
boolean |
supportsSingleNode()
Return true is this record can support the usesSingleNode option on XMLCompositeDirectCollectionMapping |
protected void |
writeValue(java.lang.String value)
INTERNAL: |
| Methods inherited from class org.eclipse.persistence.oxm.record.MarshalRecord |
|---|
add, addGroupingElement, addPositionalNodes, afterContainmentMarshal, beforeContainmentMarshal, clear, closeStartGroupingElements, emptyAttribute, endPrefixMapping, getDocument, getDOM, getGroupingElements, getLocalName, getNameForFragment, getNamespaceURI, getPositionalNodes, getPrefixForFragment, getStringForQName, getValueToWrite, openStartGroupingElements, predicateAttribute, processNamespaceResolverForXSIPrefix, put, removeGroupingElement, setGroupingElement, startPrefixMapping, transformToXML |
| Methods inherited from class org.eclipse.persistence.oxm.record.XMLRecord |
|---|
contains, convertToXMLField, convertToXMLField, get, get, getCurrentObject, getDocPresPolicy, getIndicatingNoEntry, getLeafElementType, getMarshaller, getNamespaceResolver, getNamespaceSeparator, getOwningObject, getSession, getUnmarshaller, hasCustomNamespaceMapper, isNamespaceAware, isXOPPackage, put, resolveNamespacePrefix, setCurrentObject, setCustomNamespaceMapper, setDocPresPolicy, setLeafElementType, setLeafElementType, setNamespaceResolver, setOwningObject, setSession, setUnmarshaller, setXOPPackage |
| 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 java.util.Map |
|---|
equals, hashCode |
| Field Detail |
|---|
protected java.io.Writer writer
protected boolean isStartElementOpen
protected boolean isProcessingCData
protected java.util.Stack<JSONWriterRecord.Level> levels
protected static final java.lang.String NULL
protected java.lang.String attributePrefix
| Constructor Detail |
|---|
public JSONWriterRecord()
| Method Detail |
|---|
public boolean supportsSingleNode()
XMLRecord
supportsSingleNode in class XMLRecordpublic void setMarshaller(XMLMarshaller marshaller)
setMarshaller in class MarshalRecordpublic java.io.Writer getWriter()
public void setWriter(java.io.Writer writer)
writer - The marshal target.
public void startDocument(java.lang.String encoding,
java.lang.String version)
startDocument in class MarshalRecordencoding - The XML document will be encoded using this encoding.version - This specifies the version of XML.public void endDocument()
endDocument in class MarshalRecord
public void openStartElement(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
NamespaceResolver namespaceResolver)
openStartElement in class MarshalRecordxPathFragment - 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 MarshalRecordfrag - The XPathFragment of the element
public void attribute(java.lang.String namespaceURI,
java.lang.String localName,
java.lang.String qName,
java.lang.String value)
attribute in class MarshalRecordnamespaceURI - The namespace URI, if the attribute is not namespace
qualified the value of this parameter wil be null.localName - The local name of the attribute.qName - The qualified name of the attribute.value - This is the complete value for the attribute.
public void attribute(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
NamespaceResolver namespaceResolver,
java.lang.String value)
attribute in class MarshalRecordxPathFragment - 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).value - This is the complete value for the attribute.public void startPrefixMappings(NamespaceResolver namespaceResolver)
startPrefixMappings in class MarshalRecordpublic void endPrefixMappings(NamespaceResolver namespaceResolver)
endPrefixMappings in class MarshalRecordpublic void closeStartElement()
closeStartElement in class MarshalRecord
public void endElement(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
NamespaceResolver namespaceResolver)
endElement in class MarshalRecordxPathFragment - 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 class MarshalRecordendCollectionpublic void endCollection()
MarshalRecord
endCollection in class MarshalRecordstartCollectionpublic void characters(java.lang.String value)
characters in class MarshalRecordvalue - This is the entire value of the text node.
public void attribute(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
NamespaceResolver namespaceResolver,
java.lang.Object value,
javax.xml.namespace.QName schemaType)
MarshalRecord
attribute in class MarshalRecord
public void characters(javax.xml.namespace.QName schemaType,
java.lang.Object value,
java.lang.String mimeType,
boolean isCDATA)
MarshalRecord
characters in class MarshalRecordpublic void namespaceDeclarations(NamespaceResolver namespaceResolver)
namespaceDeclarations in class MarshalRecordnamespaceResolver - The NamespaceResolver contains the namespace
prefix and URI pairings that need to be declared.
public void nilComplex(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
NamespaceResolver namespaceResolver)
nilComplex in class MarshalRecordpublic void nilSimple(NamespaceResolver namespaceResolver)
nilSimple in class MarshalRecordpublic void emptySimple(NamespaceResolver namespaceResolver)
emptySimple in class MarshalRecord
public void emptyComplex(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
NamespaceResolver namespaceResolver)
emptyComplex in class MarshalRecordprotected void nonStringCharacters(java.lang.String value)
public void cdata(java.lang.String value)
cdata in class MarshalRecordvalue - This is the value of the text to be wrappedpublic org.eclipse.persistence.internal.oxm.XPathFragment getTextWrapperFragment()
getTextWrapperFragment in class MarshalRecordprotected void writeValue(java.lang.String value)
public void node(org.w3c.dom.Node node,
NamespaceResolver namespaceResolver)
node in class MarshalRecordnode - The Node to be added to the documentnamespaceResolver - The NamespaceResolver can be used to resolve the
namespace URI/prefix of the node
|
EclipseLink 2.4.0, build 'v20120126-r10746' API Reference | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||