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
    • Constructor Detail

      • NodeRecord

        public NodeRecord()
        INTERNAL: Default constructor.
      • NodeRecord

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

        public NodeRecord​(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​(String localRootElementName,
                          Node parent)
        INTERNAL: Create a record with the local root element name, that is a child of the parent.
      • NodeRecord

        public NodeRecord​(String localRootElementName,
                          org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver,
                          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​(Node node)
        INTERNAL: Create a record with the element.
    • Method Detail

      • getDOM

        public 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​(Node dom)
        Set the Node that the object will be marshalled to.
        Parameters:
        dom - The marshal target.
      • startDocument

        public void startDocument​(String encoding,
                                  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​(Node node,
                         org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver,
                         String uri,
                         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,
                              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​(String namespaceURI,
                              String localName,
                              String qName,
                              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​(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​(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