Class ContentHandlerRecord

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.ContentHandlerRecord
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 ContentHandlerRecord extends MarshalRecord

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

XMLContext xmlContext = new XMLContext("session-name");
XMLMarshaller xmlMarshaller = xmlContext.createMarshaller();
ContentHandlerRecord contentHandlerRecord = new ContentHandlerRecord();
marshalRecord.setContentHandler(myContentHandler);
xmlMarshaller.marshal(myObject, contentHandlerRecord);

If the marshal(ContentHandler) method is called on XMLMarshaller, then the ContentHanlder is automatically wrapped in a ContentHandlerRecord.

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

See Also:
  • Field Details

    • isStartElementOpen

      protected boolean isStartElementOpen
  • Constructor Details

    • ContentHandlerRecord

      public ContentHandlerRecord()
  • Method Details

    • getContentHandler

      public ContentHandler getContentHandler()
      Return the ContentHandler that the object will be marshalled to.
      Returns:
      The marshal target.
    • setContentHandler

      public void setContentHandler(ContentHandler contentHandler)
      Set the ContentHandler that the object will be marshalled to.
      Parameters:
      contentHandler - The marshal target.
    • setLexicalHandler

      public void setLexicalHandler(LexicalHandler lexicalHandler)
      Set the LexicalHandler to receive CDATA related events
    • 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
    • startPrefixMappings

      public void startPrefixMappings(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
      Overrides:
      startPrefixMappings in class MarshalRecord
    • startPrefixMapping

      public void startPrefixMapping(String prefix, String namespaceURI)
      INTERNAL:
      Specified by:
      startPrefixMapping in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord
      Overrides:
      startPrefixMapping in class MarshalRecord
      Parameters:
      prefix - The namespace prefix.
      namespaceURI - The namespace URI.
    • namespaceDeclarations

      public void namespaceDeclarations(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
      INTERNAL: Add the namespace declarations to the XML document.
      Overrides:
      namespaceDeclarations in class MarshalRecord
      Parameters:
      namespaceResolver - The NamespaceResolver contains the namespace prefix and URI pairings that need to be declared.
    • endPrefixMapping

      public void endPrefixMapping(String prefix)
      INTERNAL:
      Specified by:
      endPrefixMapping in interface org.eclipse.persistence.internal.oxm.record.MarshalRecord
      Overrides:
      endPrefixMapping in class MarshalRecord
      Parameters:
      prefix - The namespace prefix.
    • 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)
      INTERNAL:
      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
    • node

      public void node(Node node, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver, String uri, String name)
      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 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
    • resolveNamespacePrefix

      public String resolveNamespacePrefix(org.eclipse.persistence.internal.oxm.XPathFragment frag, org.eclipse.persistence.internal.oxm.NamespaceResolver resolver)
    • resolveNamespacePrefix

      public String resolveNamespacePrefix(String s)
      Specified by:
      resolveNamespacePrefix in interface org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecord
      Overrides:
      resolveNamespacePrefix in class org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecordImpl