Class NodeRecord

  • All Implemented Interfaces:
    org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecord, org.eclipse.persistence.internal.oxm.record.MarshalRecord, org.eclipse.persistence.internal.oxm.record.XMLRecord

    public class NodeRecord
    extends MarshalRecord

    Use this type of MarshalRecord when the marshal target is a Node.

    XMLContext xmlContext = new XMLContext("session-name");
    XMLMarshaller xmlMarshaller = xmlContext.createMarshaller();
    NodeRecord nodeRecord = new NodeRecord();
    nodeRecord.setDOM(myNode);
    xmlMarshaller.marshal(myObject, nodeRecord);

    If the marshal(Node) method is called on XMLMarshaller, then the Writer is automatically wrapped in a NodeRecord.

    XMLContext xmlContext = new XMLContext("session-name");
    XMLMarshaller xmlMarshaller = xmlContext.createMarshaller();
    xmlMarshaller.marshal(myObject, myNode);

    See Also:
    XMLMarshaller
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      protected class  NodeRecord.NodeRecordContentHandler
      This class will typically be used in conjunction with an XMLFragmentReader.
      • 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
    • Field Summary

      • 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

      Constructors 
      Constructor Description
      NodeRecord()
      INTERNAL: Default constructor.
      NodeRecord​(java.lang.String rootElementName)
      INTERNAL: Create a record with the root element name.
      NodeRecord​(java.lang.String rootElementName, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
      INTERNAL: Create a record with the root element name get the namespace URI from the namespaceResolver.
      NodeRecord​(java.lang.String localRootElementName, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver, org.w3c.dom.Node parent)
      INTERNAL: Create a record with the local root element name, that is a child of the parent.
      NodeRecord​(java.lang.String localRootElementName, org.w3c.dom.Node parent)
      INTERNAL: Create a record with the local root element name, that is a child of the parent.
      NodeRecord​(org.w3c.dom.Node node)
      INTERNAL: Create a record with the element.
    • Constructor Detail

      • NodeRecord

        public NodeRecord()
        INTERNAL: Default constructor.
      • NodeRecord

        public NodeRecord​(java.lang.String rootElementName)
        INTERNAL: Create a record with the root element name.
      • NodeRecord

        public NodeRecord​(java.lang.String rootElementName,
                          org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
        INTERNAL: Create a record with the root element name get the namespace URI from the namespaceResolver.
      • NodeRecord

        public NodeRecord​(java.lang.String localRootElementName,
                          org.w3c.dom.Node parent)
        INTERNAL: Create a record with the local root element name, that is a child of the parent.
      • NodeRecord

        public NodeRecord​(java.lang.String localRootElementName,
                          org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver,
                          org.w3c.dom.Node parent)
        INTERNAL: Create a record with the local root element name, that is a child of the parent. Lookup the namespace URI from the namespaceResolver.
      • NodeRecord

        public NodeRecord​(org.w3c.dom.Node node)
        INTERNAL: Create a record with the element.
    • Method Detail

      • getDOM

        public org.w3c.dom.Node getDOM()
        Return the Node that the object will be marshalled to.
        Specified by:
        getDOM in interface org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecord
        Overrides:
        getDOM in class MarshalRecord
        Returns:
        The marshal target.
      • setDOM

        public void setDOM​(org.w3c.dom.Node dom)
        Set the Node that the object will be marshalled to.
        Parameters:
        dom - The marshal target.
      • startDocument

        public void startDocument​(java.lang.String encoding,
                                  java.lang.String version)
        INTERNAL:
        Specified by:
        startDocument in class MarshalRecord
        Parameters:
        encoding - The XML document will be encoded using this encoding.
        version - This specifies the version of XML.
      • node

        public void node​(org.w3c.dom.Node node,
                         org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver,
                         java.lang.String uri,
                         java.lang.String name)
        Description copied from class: MarshalRecord
        Receive notification of a node.
        Specified by:
        node in class MarshalRecord
        Parameters:
        node - The Node to be added to the document
        namespaceResolver - The NamespaceResolver can be used to resolve the
        uri - replacement root name for the node
        name - replacement root namespace for the node namespace URI/prefix of the node
      • 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
        Overrides:
        openStartElement in class MarshalRecord
        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
        Parameters:
        frag - The XPathFragment of the element
      • 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
        Specified by:
        attribute in class MarshalRecord
        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.
      • 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
        Specified by:
        attribute in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord
        Specified by:
        attribute in class MarshalRecord
        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.
      • closeStartElement

        public void closeStartElement()
        INTERNAL:
        Specified by:
        closeStartElement in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord
        Specified by:
        closeStartElement in class MarshalRecord
      • 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
        Specified by:
        endElement in class MarshalRecord
        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:
        Specified by:
        characters in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord
        Specified by:
        characters in class MarshalRecord
        Parameters:
        value - This is the entire value of the text node.
      • cdata

        public void cdata​(java.lang.String value)
        Description copied from class: MarshalRecord
        Receive notification of character data to be wrapped in a CDATA node.
        Specified by:
        cdata in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord
        Specified by:
        cdata in class MarshalRecord
        Parameters:
        value - This is the value of the text to be wrapped
      • 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