public class JSONWriterRecord extends MarshalRecord<XMLMarshaller>
Use this type of MarshalRecord when the marshal target is a Writer and the JSON should not be formatted with carriage returns or 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);
XMLMarshallerMarshalRecord.CycleDetectionStack<E>XMLRecord.NilDEFAULT_ATTRIBUTE_GROUP, NIL| Constructor and Description |
|---|
JSONWriterRecord() |
JSONWriterRecord(java.io.OutputStream outputStream) |
JSONWriterRecord(java.io.OutputStream outputStream,
java.lang.String callbackName) |
JSONWriterRecord(java.io.Writer writer) |
JSONWriterRecord(java.io.Writer writer,
java.lang.String callbackName) |
| Modifier and Type | Method and Description |
|---|---|
void |
attribute(java.lang.String namespaceURI,
java.lang.String localName,
java.lang.String qName,
java.lang.String value)
INTERNAL:
|
void |
attribute(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(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(javax.xml.namespace.QName schemaType,
java.lang.Object value,
java.lang.String mimeType,
boolean isCDATA,
boolean isAttribute) |
void |
characters(java.lang.String value)
INTERNAL:
|
void |
characters(java.lang.String value,
boolean isString,
boolean isAttribute)
INTERNAL:
|
void |
closeStartElement()
INTERNAL:
|
void |
defaultNamespaceDeclaration(java.lang.String defaultNamespace)
Add the defaultNamespace declaration
|
void |
element(XPathFragment frag)
INTERNAL:
|
void |
emptyAttribute(XPathFragment xPathFragment,
NamespaceResolver namespaceResolver)
Used when an nil attribute should be written
|
boolean |
emptyCollection(XPathFragment xPathFragment,
NamespaceResolver namespaceResolver,
boolean openGrouping)
Handle marshal of an empty collection.
|
void |
emptyComplex(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(XPathFragment xPathFragment,
NamespaceResolver namespaceResolver)
INTERNAL:
|
void |
endPrefixMappings(NamespaceResolver namespaceResolver)
INTERNAL:
override so we don't iterate over namespaces when endPrefixMapping doesn't do anything
|
void |
flush() |
void |
forceValueWrapper() |
char |
getNamespaceSeparator()
INTERNAL:
The character used to separate the prefix and uri portions when namespaces are present
|
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.
|
boolean |
isWrapperAsCollectionName() |
void |
marshalWithoutRootElement(ObjectBuilder treeObjectBuilder,
java.lang.Object object,
Descriptor descriptor,
Root root,
boolean isXMLRoot)
INTERNAL:
|
void |
namespaceDeclaration(java.lang.String prefix,
java.lang.String namespaceURI)
Add the specified namespace declaration
|
void |
namespaceDeclarations(NamespaceResolver namespaceResolver)
INTERNAL:
|
void |
nilComplex(XPathFragment xPathFragment,
NamespaceResolver namespaceResolver)
INTERNAL:
|
void |
nilSimple(NamespaceResolver namespaceResolver)
INTERNAL:
|
void |
node(org.w3c.dom.Node node,
NamespaceResolver namespaceResolver,
java.lang.String uri,
java.lang.String name)
Receive notification of a node.
|
void |
openStartElement(XPathFragment xPathFragment,
NamespaceResolver namespaceResolver)
INTERNAL:
|
void |
setCallbackName(java.lang.String callbackName) |
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
|
add, addGroupingElement, afterContainmentMarshal, beforeContainmentMarshal, clear, closeStartGroupingElements, endPrefixMapping, getCurrentAttributeGroup, getCycleDetectionStack, getDocument, getDOM, getGroupingElements, getLocalName, getNamespaceURI, getPositionalNodes, getValueToWrite, node, openStartGroupingElements, popAttributeGroup, predicateAttribute, pushAttributeGroup, put, removeGroupingElement, setGroupingElement, setSession, startPrefixMapping, transformToXML, writeHeaderaddExtraNamespacesToNamespaceResolver, addXsiTypeAndClassIndicatorIfRequired, addXsiTypeAndClassIndicatorIfRequired, attributeWithoutQName, getConversionManager, getLeafElementType, getMarshaller, getNamespaceResolver, getOwningObject, getSession, hasCustomNamespaceMapper, hasEqualNamespaceResolvers, isNamespaceAware, isXOPPackage, removeExtraNamespacesFromNamespaceResolver, resolveNamespacePrefix, setCustomNamespaceMapper, setEqualNamespaceResolvers, setLeafElementType, setLeafElementType, setNamespaceResolver, setOwningObject, setXOPPackage, writeXsiTypeAttribute, writeXsiTypeAttributeequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitattributeWithoutQName, hasCustomNamespaceMapper, isXOPPackage, removeExtraNamespacesFromNamespaceResolver, setLeafElementTypeaddExtraNamespacesToNamespaceResolver, addXsiTypeAndClassIndicatorIfRequired, addXsiTypeAndClassIndicatorIfRequired, getLeafElementType, getMarshaller, getNamespaceResolver, getOwningObject, hasEqualNamespaceResolvers, isNamespaceAware, resolveNamespacePrefix, setCustomNamespaceMapper, setEqualNamespaceResolvers, setLeafElementType, setNamespaceResolver, setOwningObject, setXOPPackage, writeXsiTypeAttribute, writeXsiTypeAttributegetConversionManager, getSessionpublic JSONWriterRecord()
public JSONWriterRecord(java.io.OutputStream outputStream)
public JSONWriterRecord(java.io.OutputStream outputStream,
java.lang.String callbackName)
public JSONWriterRecord(java.io.Writer writer)
public JSONWriterRecord(java.io.Writer writer,
java.lang.String callbackName)
public void setCallbackName(java.lang.String callbackName)
public void setMarshaller(XMLMarshaller marshaller)
setMarshaller in interface AbstractMarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>setMarshaller in interface MarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>setMarshaller in class AbstractMarshalRecordImpl<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>public boolean emptyCollection(XPathFragment xPathFragment, NamespaceResolver namespaceResolver, boolean openGrouping)
emptyCollection in interface MarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>emptyCollection in class MarshalRecord<XMLMarshaller>xPathFragment - namespaceResolver - openGrouping - if grouping elements should be marshalled for empty collectionspublic void forceValueWrapper()
forceValueWrapper in interface MarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>forceValueWrapper in class MarshalRecord<XMLMarshaller>public java.io.Writer getWriter()
public void setWriter(java.io.Writer writer)
writer - The marshal target.public void namespaceDeclaration(java.lang.String prefix,
java.lang.String namespaceURI)
MarshalRecordnamespaceDeclaration in interface AbstractMarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>namespaceDeclaration in interface MarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>namespaceDeclaration in class MarshalRecord<XMLMarshaller>public void defaultNamespaceDeclaration(java.lang.String defaultNamespace)
MarshalRecorddefaultNamespaceDeclaration in class MarshalRecord<XMLMarshaller>public void startDocument(java.lang.String encoding,
java.lang.String version)
startDocument in class MarshalRecord<XMLMarshaller>encoding - The XML document will be encoded using this encoding.version - This specifies the version of XML.public void endDocument()
endDocument in class MarshalRecord<XMLMarshaller>public void openStartElement(XPathFragment xPathFragment, NamespaceResolver namespaceResolver)
openStartElement in interface MarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>openStartElement in class MarshalRecord<XMLMarshaller>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).public void element(XPathFragment frag)
element in class MarshalRecord<XMLMarshaller>frag - The XPathFragment of the elementpublic void attribute(java.lang.String namespaceURI,
java.lang.String localName,
java.lang.String qName,
java.lang.String value)
attribute in interface AbstractMarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>attribute in interface MarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>attribute in class MarshalRecord<XMLMarshaller>namespaceURI - 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(XPathFragment xPathFragment, NamespaceResolver namespaceResolver, java.lang.String value)
attribute in interface MarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>attribute in class MarshalRecord<XMLMarshaller>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).value - This is the complete value for the attribute.public void startPrefixMappings(NamespaceResolver namespaceResolver)
startPrefixMappings in class MarshalRecord<XMLMarshaller>public void endPrefixMappings(NamespaceResolver namespaceResolver)
endPrefixMappings in class MarshalRecord<XMLMarshaller>public void closeStartElement()
closeStartElement in interface MarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>closeStartElement in class MarshalRecord<XMLMarshaller>public void endElement(XPathFragment xPathFragment, NamespaceResolver namespaceResolver)
endElement in interface MarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>endElement in class MarshalRecord<XMLMarshaller>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).public void startCollection()
MarshalRecordstartCollection in interface MarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>startCollection in class MarshalRecord<XMLMarshaller>MarshalRecord.endCollection()public void endCollection()
MarshalRecordendCollection in interface MarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>endCollection in class MarshalRecord<XMLMarshaller>MarshalRecord.startCollection()public void characters(java.lang.String value)
characters in interface MarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>characters in class MarshalRecord<XMLMarshaller>value - This is the entire value of the text node.public void characters(java.lang.String value,
boolean isString,
boolean isAttribute)
public void attribute(XPathFragment xPathFragment, NamespaceResolver namespaceResolver, java.lang.Object value, javax.xml.namespace.QName schemaType)
MarshalRecordattribute in interface MarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>attribute in class MarshalRecord<XMLMarshaller>public void characters(javax.xml.namespace.QName schemaType,
java.lang.Object value,
java.lang.String mimeType,
boolean isCDATA)
MarshalRecordcharacters in interface MarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>characters in class MarshalRecord<XMLMarshaller>public void characters(javax.xml.namespace.QName schemaType,
java.lang.Object value,
java.lang.String mimeType,
boolean isCDATA,
boolean isAttribute)
public void namespaceDeclarations(NamespaceResolver namespaceResolver)
namespaceDeclarations in class MarshalRecord<XMLMarshaller>namespaceResolver - The NamespaceResolver contains the namespace
prefix and URI pairings that need to be declared.public void nilComplex(XPathFragment xPathFragment, NamespaceResolver namespaceResolver)
nilComplex in interface MarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>nilComplex in class MarshalRecord<XMLMarshaller>public void nilSimple(NamespaceResolver namespaceResolver)
nilSimple in interface MarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>nilSimple in class MarshalRecord<XMLMarshaller>public void emptySimple(NamespaceResolver namespaceResolver)
emptySimple in interface MarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>emptySimple in class MarshalRecord<XMLMarshaller>public void emptyAttribute(XPathFragment xPathFragment, NamespaceResolver namespaceResolver)
MarshalRecordemptyAttribute in interface MarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>emptyAttribute in class MarshalRecord<XMLMarshaller>public void emptyComplex(XPathFragment xPathFragment, NamespaceResolver namespaceResolver)
emptyComplex in interface MarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>emptyComplex in class MarshalRecord<XMLMarshaller>public void marshalWithoutRootElement(ObjectBuilder treeObjectBuilder, java.lang.Object object, Descriptor descriptor, Root root, boolean isXMLRoot)
marshalWithoutRootElement in class MarshalRecord<XMLMarshaller>public void cdata(java.lang.String value)
cdata in interface MarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>cdata in class MarshalRecord<XMLMarshaller>value - This is the value of the text to be wrappedpublic char getNamespaceSeparator()
getNamespaceSeparator in interface XMLRecord<CoreAbstractSession>getNamespaceSeparator in class AbstractMarshalRecordImpl<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>public XPathFragment getTextWrapperFragment()
getTextWrapperFragment in interface MarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>getTextWrapperFragment in class MarshalRecord<XMLMarshaller>public void node(org.w3c.dom.Node node,
NamespaceResolver namespaceResolver,
java.lang.String uri,
java.lang.String name)
node in class MarshalRecord<XMLMarshaller>node - The Node to be added to the documentnamespaceResolver - The NamespaceResolver can be used to resolve the
namespace URI/prefix of the nodeuri - replacement root name for the nodename - replacement root namespace for the node
namespace URI/prefix of the nodepublic boolean isWrapperAsCollectionName()
isWrapperAsCollectionName in interface MarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>isWrapperAsCollectionName in class MarshalRecord<XMLMarshaller>public void flush()
flush in interface MarshalRecord<CoreAbstractSession,CoreField,XMLMarshaller,NamespaceResolver>flush in class MarshalRecord<XMLMarshaller>EclipseLink 2.6.3, "build v20160428-59c81c5" API Reference