Class NodeCreateRule.NodeBuilder

  • All Implemented Interfaces:
    org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler
    Enclosing class:
    NodeCreateRule

    private class NodeCreateRule.NodeBuilder
    extends org.xml.sax.helpers.DefaultHandler
    The SAX content handler that does all the actual work of assembling the DOM node tree from the SAX events.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected int depth
      Depth of the current node, relative to the element where the content handler was put into action.
      protected org.w3c.dom.Document doc
      A DOM Document used to create the various Node instances.
      protected org.xml.sax.ContentHandler oldContentHandler
      The content handler used by Digester before it was set to this content handler.
      protected org.w3c.dom.Node root
      The DOM node that will be pushed on Digester's stack.
      protected org.w3c.dom.Node top
      The current top DOM mode.
    • Constructor Summary

      Constructors 
      Constructor Description
      NodeBuilder​(org.w3c.dom.Document doc, org.w3c.dom.Node root)
      Constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void characters​(char[] ch, int start, int length)
      Appends a Text node to the current node.
      void endElement​(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName)
      Checks whether control needs to be returned to Digester.
      void processingInstruction​(java.lang.String target, java.lang.String data)
      Adds a new ProcessingInstruction to the current node.
      void startElement​(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes atts)
      Adds a new child Element to the current node.
      • Methods inherited from class org.xml.sax.helpers.DefaultHandler

        endDocument, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, resolveEntity, setDocumentLocator, skippedEntity, startDocument, startPrefixMapping, unparsedEntityDecl, warning
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • oldContentHandler

        protected org.xml.sax.ContentHandler oldContentHandler
        The content handler used by Digester before it was set to this content handler.
      • depth

        protected int depth
        Depth of the current node, relative to the element where the content handler was put into action.
      • doc

        protected org.w3c.dom.Document doc
        A DOM Document used to create the various Node instances.
      • root

        protected org.w3c.dom.Node root
        The DOM node that will be pushed on Digester's stack.
      • top

        protected org.w3c.dom.Node top
        The current top DOM mode.
    • Constructor Detail

      • NodeBuilder

        public NodeBuilder​(org.w3c.dom.Document doc,
                           org.w3c.dom.Node root)
                    throws javax.xml.parsers.ParserConfigurationException,
                           org.xml.sax.SAXException
        Constructor.

        Stores the content handler currently used by Digester so it can be reset when done, and initializes the DOM objects needed to build the node.

        Parameters:
        doc - the document to use to create nodes
        root - the root node
        Throws:
        javax.xml.parsers.ParserConfigurationException - if the DocumentBuilderFactory could not be instantiated
        org.xml.sax.SAXException - if the XMLReader could not be instantiated by Digester (should not happen)
    • Method Detail

      • characters

        public void characters​(char[] ch,
                               int start,
                               int length)
                        throws org.xml.sax.SAXException
        Appends a Text node to the current node.
        Specified by:
        characters in interface org.xml.sax.ContentHandler
        Overrides:
        characters in class org.xml.sax.helpers.DefaultHandler
        Parameters:
        ch - the characters from the XML document
        start - the start position in the array
        length - the number of characters to read from the array
        Throws:
        org.xml.sax.SAXException - if the DOM implementation throws an exception
      • endElement

        public void endElement​(java.lang.String namespaceURI,
                               java.lang.String localName,
                               java.lang.String qName)
                        throws org.xml.sax.SAXException
        Checks whether control needs to be returned to Digester.
        Specified by:
        endElement in interface org.xml.sax.ContentHandler
        Overrides:
        endElement in class org.xml.sax.helpers.DefaultHandler
        Parameters:
        namespaceURI - the namespace URI
        localName - the local name
        qName - the qualified (prefixed) name
        Throws:
        org.xml.sax.SAXException - if the DOM implementation throws an exception
      • processingInstruction

        public void processingInstruction​(java.lang.String target,
                                          java.lang.String data)
                                   throws org.xml.sax.SAXException
        Adds a new ProcessingInstruction to the current node.
        Specified by:
        processingInstruction in interface org.xml.sax.ContentHandler
        Overrides:
        processingInstruction in class org.xml.sax.helpers.DefaultHandler
        Parameters:
        target - the processing instruction target
        data - the processing instruction data, or null if none was supplied
        Throws:
        org.xml.sax.SAXException - if the DOM implementation throws an exception
      • startElement

        public void startElement​(java.lang.String namespaceURI,
                                 java.lang.String localName,
                                 java.lang.String qName,
                                 org.xml.sax.Attributes atts)
                          throws org.xml.sax.SAXException
        Adds a new child Element to the current node.
        Specified by:
        startElement in interface org.xml.sax.ContentHandler
        Overrides:
        startElement in class org.xml.sax.helpers.DefaultHandler
        Parameters:
        namespaceURI - the namespace URI
        localName - the local name
        qName - the qualified (prefixed) name
        atts - the list of attributes
        Throws:
        org.xml.sax.SAXException - if the DOM implementation throws an exception