Class NodeRecord

java.lang.Object
org.eclipse.persistence.internal.core.sessions.CoreAbstractRecord
org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecordImpl<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.core.helper.CoreField,MARSHALLER,org.eclipse.persistence.internal.oxm.NamespaceResolver>
org.eclipse.persistence.oxm.record.MarshalRecord
org.eclipse.persistence.oxm.record.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:
  • Constructor Details

    • 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 Details

    • getLocalName

      public String getLocalName()
      Overrides:
      getLocalName in class MarshalRecord
    • getNamespaceURI

      public String getNamespaceURI()
      Overrides:
      getNamespaceURI in class MarshalRecord
    • clear

      public void clear()
      Overrides:
      clear in class MarshalRecord
    • getDocument

      public Document getDocument()
      Overrides:
      getDocument in class MarshalRecord
    • 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.
    • transformToXML

      public String transformToXML()
      Overrides:
      transformToXML in class MarshalRecord
    • 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.
    • endDocument

      public void endDocument()
      INTERNAL:
      Specified by:
      endDocument in class MarshalRecord
    • 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