Class JSONWriterRecord

  • All Implemented Interfaces:
    org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,​org.eclipse.persistence.internal.core.helper.CoreField,​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.core.helper.CoreField,​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>
    Direct Known Subclasses:
    JSONFormattedWriterRecord

    public class JSONWriterRecord
    extends MarshalRecord<org.eclipse.persistence.internal.oxm.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);

    See Also:
    XMLMarshaller
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      protected class  JSONWriterRecord.JSONWriterRecordContentHandler
      This class will typically be used in conjunction with an XMLFragmentReader.
      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 static interface  JSONWriterRecord.Output  
      protected static class  JSONWriterRecord.OutputStreamOutput  
      • Nested classes/interfaces inherited from interface org.eclipse.persistence.internal.oxm.record.MarshalRecord

        org.eclipse.persistence.internal.oxm.record.MarshalRecord.CycleDetectionStack<E extends java.lang.Object>
      • Nested classes/interfaces inherited from interface org.eclipse.persistence.internal.oxm.record.XMLRecord

        org.eclipse.persistence.internal.oxm.record.XMLRecord.Nil
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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, org.eclipse.persistence.internal.oxm.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, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver, java.lang.String value)
      INTERNAL:
      void cdata​(java.lang.String value)
      INTERNAL:
      void characters​(java.lang.String value)
      INTERNAL:
      void characters​(java.lang.String value, boolean isString, boolean isAttribute)
      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)  
      protected void closeComplex()  
      void closeStartElement()
      INTERNAL:
      void defaultNamespaceDeclaration​(java.lang.String defaultNamespace)
      Add the defaultNamespace declaration
      void element​(org.eclipse.persistence.internal.oxm.XPathFragment frag)
      INTERNAL:
      void emptyAttribute​(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
      Used when an nil attribute should be written
      boolean emptyCollection​(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver, boolean openGrouping)
      Handle marshal of an empty collection.
      void emptyComplex​(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
      Used when an empty complex item should be written
      void emptySimple​(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
      Used when an empty simple value should be written
      protected void endCallback()  
      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 endPrefixMappings​(org.eclipse.persistence.internal.oxm.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
      protected java.lang.String getStringForQName​(javax.xml.namespace.QName qName)  
      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.
      boolean isWrapperAsCollectionName()  
      void marshalWithoutRootElement​(org.eclipse.persistence.internal.oxm.ObjectBuilder treeObjectBuilder, java.lang.Object object, org.eclipse.persistence.internal.oxm.mappings.Descriptor descriptor, org.eclipse.persistence.internal.oxm.Root root, boolean isXMLRoot)
      INTERNAL:
      void namespaceDeclaration​(java.lang.String prefix, java.lang.String namespaceURI)
      Add the specified namespace declaration
      void namespaceDeclarations​(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
      INTERNAL:
      void nilComplex​(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
      INTERNAL:
      void nilSimple​(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
      INTERNAL:
      void node​(org.w3c.dom.Node node, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver, java.lang.String uri, java.lang.String name)
      Receive notification of a node.
      void openStartElement​(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
      INTERNAL:
      void setCallbackName​(java.lang.String callbackName)  
      void setMarshaller​(org.eclipse.persistence.internal.oxm.XMLMarshaller marshaller)
      INTERNAL:
      void setWriter​(java.io.Writer writer)
      Set the Writer that the object will be marshalled to.
      protected void startCallback()
      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:
      void startPrefixMappings​(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
      INTERNAL: override so we don't iterate over namespaces when startPrefixMapping doesn't do anything
      protected void writeKey​(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment)  
      protected void writeListSeparator()  
      protected void writeSeparator()  
      protected void writeValue​(java.lang.String value, boolean isAttribute)
      INTERNAL:
      • Methods inherited from class org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecordImpl

        addExtraNamespacesToNamespaceResolver, addXsiTypeAndClassIndicatorIfRequired, addXsiTypeAndClassIndicatorIfRequired, attributeWithoutQName, getConversionManager, 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.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.MarshalRecord

        attributeWithoutQName, hasCustomNamespaceMapper, isXOPPackage, removeExtraNamespacesFromNamespaceResolver, setLeafElementType
      • Methods inherited from interface org.eclipse.persistence.internal.oxm.record.XMLRecord

        getConversionManager, getSession
    • Field Detail

      • isProcessingCData

        protected boolean isProcessingCData
      • attributePrefix

        protected java.lang.String attributePrefix
      • charactersAllowed

        protected boolean charactersAllowed
      • encoder

        protected java.nio.charset.CharsetEncoder encoder
      • characterEscapeHandler

        protected org.eclipse.persistence.internal.oxm.CharacterEscapeHandler characterEscapeHandler
      • callbackName

        protected java.lang.String callbackName
    • Constructor Detail

      • JSONWriterRecord

        public JSONWriterRecord()
      • JSONWriterRecord

        public JSONWriterRecord​(java.io.OutputStream outputStream)
      • JSONWriterRecord

        public JSONWriterRecord​(java.io.OutputStream outputStream,
                                java.lang.String callbackName)
      • JSONWriterRecord

        public JSONWriterRecord​(java.io.Writer writer)
      • JSONWriterRecord

        public JSONWriterRecord​(java.io.Writer writer,
                                java.lang.String callbackName)
    • Method Detail

      • setCallbackName

        public void setCallbackName​(java.lang.String callbackName)
      • setMarshaller

        public void setMarshaller​(org.eclipse.persistence.internal.oxm.XMLMarshaller marshaller)
        INTERNAL:
        Specified by:
        setMarshaller in interface org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,​org.eclipse.persistence.internal.core.helper.CoreField,​org.eclipse.persistence.internal.oxm.XMLMarshaller,​org.eclipse.persistence.internal.oxm.NamespaceResolver>
        Specified by:
        setMarshaller in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,​org.eclipse.persistence.internal.core.helper.CoreField,​org.eclipse.persistence.internal.oxm.XMLMarshaller,​org.eclipse.persistence.internal.oxm.NamespaceResolver>
        Overrides:
        setMarshaller in class org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecordImpl<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,​org.eclipse.persistence.internal.core.helper.CoreField,​org.eclipse.persistence.internal.oxm.XMLMarshaller,​org.eclipse.persistence.internal.oxm.NamespaceResolver>
      • emptyCollection

        public boolean emptyCollection​(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
                                       org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver,
                                       boolean openGrouping)
        Handle marshal of an empty collection.
        Specified by:
        emptyCollection in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,​org.eclipse.persistence.internal.core.helper.CoreField,​org.eclipse.persistence.internal.oxm.XMLMarshaller,​org.eclipse.persistence.internal.oxm.NamespaceResolver>
        Overrides:
        emptyCollection in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
        Parameters:
        xPathFragment -
        namespaceResolver -
        openGrouping - if grouping elements should be marshalled for empty collections
        Returns:
      • forceValueWrapper

        public void forceValueWrapper()
        Specified by:
        forceValueWrapper in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,​org.eclipse.persistence.internal.core.helper.CoreField,​org.eclipse.persistence.internal.oxm.XMLMarshaller,​org.eclipse.persistence.internal.oxm.NamespaceResolver>
        Overrides:
        forceValueWrapper in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
      • getWriter

        public java.io.Writer getWriter()
        Return the Writer that the object will be marshalled to.
        Returns:
        The marshal target.
      • setWriter

        public void setWriter​(java.io.Writer writer)
        Set the Writer that the object will be marshalled to.
        Parameters:
        writer - The marshal target.
      • namespaceDeclaration

        public void namespaceDeclaration​(java.lang.String prefix,
                                         java.lang.String namespaceURI)
        Description copied from class: MarshalRecord
        Add the specified namespace declaration
        Specified by:
        namespaceDeclaration in interface org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,​org.eclipse.persistence.internal.core.helper.CoreField,​org.eclipse.persistence.internal.oxm.XMLMarshaller,​org.eclipse.persistence.internal.oxm.NamespaceResolver>
        Specified by:
        namespaceDeclaration in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,​org.eclipse.persistence.internal.core.helper.CoreField,​org.eclipse.persistence.internal.oxm.XMLMarshaller,​org.eclipse.persistence.internal.oxm.NamespaceResolver>
        Overrides:
        namespaceDeclaration in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
      • defaultNamespaceDeclaration

        public void defaultNamespaceDeclaration​(java.lang.String defaultNamespace)
        Description copied from class: MarshalRecord
        Add the defaultNamespace declaration
        Overrides:
        defaultNamespaceDeclaration in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
      • startDocument

        public void startDocument​(java.lang.String encoding,
                                  java.lang.String version)
        INTERNAL:
        Specified by:
        startDocument in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
        Parameters:
        encoding - The XML document will be encoded using this encoding.
        version - This specifies the version of XML.
      • writeListSeparator

        protected void writeListSeparator()
                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • writeSeparator

        protected void writeSeparator()
                               throws java.io.IOException
        Throws:
        java.io.IOException
      • startCallback

        protected void startCallback()
                              throws java.io.IOException
        INTERNAL:
        Throws:
        java.io.IOException
      • endDocument

        public void endDocument()
        INTERNAL:
        Specified by:
        endDocument in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
      • 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.core.helper.CoreField,​org.eclipse.persistence.internal.oxm.XMLMarshaller,​org.eclipse.persistence.internal.oxm.NamespaceResolver>
        Overrides:
        openStartElement in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
        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:
        Specified by:
        element in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
        Parameters:
        frag - The XPathFragment of the element
      • attribute

        public void attribute​(java.lang.String namespaceURI,
                              java.lang.String localName,
                              java.lang.String qName,
                              java.lang.String value)
        INTERNAL:
        Specified by:
        attribute in interface org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,​org.eclipse.persistence.internal.core.helper.CoreField,​org.eclipse.persistence.internal.oxm.XMLMarshaller,​org.eclipse.persistence.internal.oxm.NamespaceResolver>
        Specified by:
        attribute in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,​org.eclipse.persistence.internal.core.helper.CoreField,​org.eclipse.persistence.internal.oxm.XMLMarshaller,​org.eclipse.persistence.internal.oxm.NamespaceResolver>
        Specified by:
        attribute in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
        Parameters:
        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.
      • attribute

        public void attribute​(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
                              org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver,
                              java.lang.String value)
        INTERNAL:
        Specified by:
        attribute in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,​org.eclipse.persistence.internal.core.helper.CoreField,​org.eclipse.persistence.internal.oxm.XMLMarshaller,​org.eclipse.persistence.internal.oxm.NamespaceResolver>
        Specified by:
        attribute in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
        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).
        value - This is the complete value for the attribute.
      • startPrefixMappings

        public void startPrefixMappings​(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
        INTERNAL: override so we don't iterate over namespaces when startPrefixMapping doesn't do anything
        Overrides:
        startPrefixMappings in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
      • endPrefixMappings

        public void endPrefixMappings​(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
        INTERNAL: override so we don't iterate over namespaces when endPrefixMapping doesn't do anything
        Overrides:
        endPrefixMappings in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
      • closeStartElement

        public void closeStartElement()
        INTERNAL:
        Specified by:
        closeStartElement in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,​org.eclipse.persistence.internal.core.helper.CoreField,​org.eclipse.persistence.internal.oxm.XMLMarshaller,​org.eclipse.persistence.internal.oxm.NamespaceResolver>
        Specified by:
        closeStartElement in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
      • 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.core.helper.CoreField,​org.eclipse.persistence.internal.oxm.XMLMarshaller,​org.eclipse.persistence.internal.oxm.NamespaceResolver>
        Specified by:
        endElement in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
        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).
      • closeComplex

        protected void closeComplex()
                             throws java.io.IOException
        Throws:
        java.io.IOException
      • 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.core.helper.CoreField,​org.eclipse.persistence.internal.oxm.XMLMarshaller,​org.eclipse.persistence.internal.oxm.NamespaceResolver>
        Overrides:
        startCollection in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
        See Also:
        MarshalRecord.endCollection()
      • endEmptyCollection

        protected void endEmptyCollection()
      • endCallback

        protected void endCallback()
                            throws java.io.IOException
        Throws:
        java.io.IOException
      • 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.core.helper.CoreField,​org.eclipse.persistence.internal.oxm.XMLMarshaller,​org.eclipse.persistence.internal.oxm.NamespaceResolver>
        Overrides:
        endCollection in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
        See Also:
        MarshalRecord.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.core.helper.CoreField,​org.eclipse.persistence.internal.oxm.XMLMarshaller,​org.eclipse.persistence.internal.oxm.NamespaceResolver>
        Specified by:
        characters in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
        Parameters:
        value - This is the entire value of the text node.
      • characters

        public void characters​(java.lang.String value,
                               boolean isString,
                               boolean isAttribute)
        INTERNAL:
      • attribute

        public void attribute​(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
                              org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver,
                              java.lang.Object value,
                              javax.xml.namespace.QName schemaType)
        Description copied from class: MarshalRecord
        Convert the value if necessary and write out the attribute and converted value.
        Specified by:
        attribute in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,​org.eclipse.persistence.internal.core.helper.CoreField,​org.eclipse.persistence.internal.oxm.XMLMarshaller,​org.eclipse.persistence.internal.oxm.NamespaceResolver>
        Overrides:
        attribute in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
      • characters

        public void characters​(javax.xml.namespace.QName schemaType,
                               java.lang.Object value,
                               java.lang.String mimeType,
                               boolean isCDATA)
        Description copied from class: MarshalRecord
        Convert the value if necessary and write out the converted value.
        Specified by:
        characters in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,​org.eclipse.persistence.internal.core.helper.CoreField,​org.eclipse.persistence.internal.oxm.XMLMarshaller,​org.eclipse.persistence.internal.oxm.NamespaceResolver>
        Overrides:
        characters in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
      • characters

        public void characters​(javax.xml.namespace.QName schemaType,
                               java.lang.Object value,
                               java.lang.String mimeType,
                               boolean isCDATA,
                               boolean isAttribute)
      • namespaceDeclarations

        public void namespaceDeclarations​(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
        INTERNAL:
        Overrides:
        namespaceDeclarations in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
        Parameters:
        namespaceResolver - The NamespaceResolver contains the namespace prefix and URI pairings that need to be declared.
      • nilComplex

        public void nilComplex​(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
                               org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
        INTERNAL:
        Specified by:
        nilComplex in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,​org.eclipse.persistence.internal.core.helper.CoreField,​org.eclipse.persistence.internal.oxm.XMLMarshaller,​org.eclipse.persistence.internal.oxm.NamespaceResolver>
        Overrides:
        nilComplex in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
      • nilSimple

        public void nilSimple​(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
        INTERNAL:
        Specified by:
        nilSimple in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,​org.eclipse.persistence.internal.core.helper.CoreField,​org.eclipse.persistence.internal.oxm.XMLMarshaller,​org.eclipse.persistence.internal.oxm.NamespaceResolver>
        Overrides:
        nilSimple in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
      • emptySimple

        public void emptySimple​(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
        Used when an empty simple value should be written
        Specified by:
        emptySimple in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,​org.eclipse.persistence.internal.core.helper.CoreField,​org.eclipse.persistence.internal.oxm.XMLMarshaller,​org.eclipse.persistence.internal.oxm.NamespaceResolver>
        Overrides:
        emptySimple in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
        Since:
        EclipseLink 2.4
      • emptyAttribute

        public void emptyAttribute​(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
                                   org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
        Description copied from class: MarshalRecord
        Used when an nil attribute should be written
        Specified by:
        emptyAttribute in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,​org.eclipse.persistence.internal.core.helper.CoreField,​org.eclipse.persistence.internal.oxm.XMLMarshaller,​org.eclipse.persistence.internal.oxm.NamespaceResolver>
        Overrides:
        emptyAttribute in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
      • emptyComplex

        public void emptyComplex​(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
                                 org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
        Used when an empty complex item should be written
        Specified by:
        emptyComplex in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,​org.eclipse.persistence.internal.core.helper.CoreField,​org.eclipse.persistence.internal.oxm.XMLMarshaller,​org.eclipse.persistence.internal.oxm.NamespaceResolver>
        Overrides:
        emptyComplex in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
        Since:
        EclipseLink 2.4
      • marshalWithoutRootElement

        public void marshalWithoutRootElement​(org.eclipse.persistence.internal.oxm.ObjectBuilder treeObjectBuilder,
                                              java.lang.Object object,
                                              org.eclipse.persistence.internal.oxm.mappings.Descriptor descriptor,
                                              org.eclipse.persistence.internal.oxm.Root root,
                                              boolean isXMLRoot)
        INTERNAL:
        Overrides:
        marshalWithoutRootElement in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
      • cdata

        public void cdata​(java.lang.String value)
        INTERNAL:
        Specified by:
        cdata in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,​org.eclipse.persistence.internal.core.helper.CoreField,​org.eclipse.persistence.internal.oxm.XMLMarshaller,​org.eclipse.persistence.internal.oxm.NamespaceResolver>
        Specified by:
        cdata in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
        Parameters:
        value - This is the value of the text to be wrapped
      • getNamespaceSeparator

        public char getNamespaceSeparator()
        INTERNAL: The character used to separate the prefix and uri portions when namespaces are present
        Specified by:
        getNamespaceSeparator in interface org.eclipse.persistence.internal.oxm.record.XMLRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession>
        Overrides:
        getNamespaceSeparator in class org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecordImpl<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,​org.eclipse.persistence.internal.core.helper.CoreField,​org.eclipse.persistence.internal.oxm.XMLMarshaller,​org.eclipse.persistence.internal.oxm.NamespaceResolver>
        Since:
        2.4
      • getTextWrapperFragment

        public org.eclipse.persistence.internal.oxm.XPathFragment getTextWrapperFragment()
        INTERNAL: The optional fragment used to wrap the text() mappings
        Specified by:
        getTextWrapperFragment in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,​org.eclipse.persistence.internal.core.helper.CoreField,​org.eclipse.persistence.internal.oxm.XMLMarshaller,​org.eclipse.persistence.internal.oxm.NamespaceResolver>
        Overrides:
        getTextWrapperFragment in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
        Since:
        2.4
      • writeKey

        protected void writeKey​(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment)
                         throws java.io.IOException
        Throws:
        java.io.IOException
      • writeValue

        protected void writeValue​(java.lang.String value,
                                  boolean isAttribute)
        INTERNAL:
      • getStringForQName

        protected java.lang.String getStringForQName​(javax.xml.namespace.QName qName)
        Overrides:
        getStringForQName in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
      • node

        public void node​(org.w3c.dom.Node node,
                         org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver,
                         java.lang.String uri,
                         java.lang.String name)
        Receive notification of a node.
        Specified by:
        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
        uri - replacement root name for the node
        name - replacement root namespace for the node namespace URI/prefix of the node
      • isWrapperAsCollectionName

        public boolean isWrapperAsCollectionName()
        Specified by:
        isWrapperAsCollectionName in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,​org.eclipse.persistence.internal.core.helper.CoreField,​org.eclipse.persistence.internal.oxm.XMLMarshaller,​org.eclipse.persistence.internal.oxm.NamespaceResolver>
        Overrides:
        isWrapperAsCollectionName in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>
      • flush

        public void flush()
        Specified by:
        flush in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,​org.eclipse.persistence.internal.core.helper.CoreField,​org.eclipse.persistence.internal.oxm.XMLMarshaller,​org.eclipse.persistence.internal.oxm.NamespaceResolver>
        Overrides:
        flush in class MarshalRecord<org.eclipse.persistence.internal.oxm.XMLMarshaller>