Class 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:
    XMLMarshaller
    • Field Detail

      • isStartElementOpen

        protected boolean isStartElementOpen
    • Constructor Detail

      • ContentHandlerRecord

        public ContentHandlerRecord()
    • Method Detail

      • getContentHandler

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

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

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

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

        public void startPrefixMapping​(java.lang.String prefix,
                                       java.lang.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​(java.lang.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,
                              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)
        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​(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
        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 java.lang.String resolveNamespacePrefix​(org.eclipse.persistence.internal.oxm.XPathFragment frag,
                                                       org.eclipse.persistence.internal.oxm.NamespaceResolver resolver)
      • resolveNamespacePrefix

        public java.lang.String resolveNamespacePrefix​(java.lang.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