Class TreeBuilder

    • Constructor Summary

      Constructors 
      Constructor Description
      TreeBuilder()  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      (package private) Element currentElement()
      Get the current element (last on the stack).
      (package private) boolean currentElementIs​(java.lang.String normalName)
      Checks if the Current Element's normal name equals the supplied name, in the HTML namespace.
      (package private) boolean currentElementIs​(java.lang.String normalName, java.lang.String namespace)
      Checks if the Current Element's normal name equals the supplied name, in the specified namespace.
      (package private) java.lang.String defaultNamespace()
      Gets the default namespace for this TreeBuilder
      (package private) abstract ParseSettings defaultSettings()  
      (package private) void error​(java.lang.String msg)
      If the parser is tracking errors, add an error at the current position.
      (package private) void error​(java.lang.String msg, java.lang.Object... args)
      If the parser is tracking errors, add an error at the current position.
      (package private) void initialiseParse​(java.io.Reader input, java.lang.String baseUri, Parser parser)  
      (package private) boolean isContentForTagData​(java.lang.String normalName)
      (An internal method, visible for Element.
      (package private) abstract TreeBuilder newInstance()
      Create a new copy of this TreeBuilder
      (package private) void onNodeClosed​(Node node)
      Called by implementing TreeBuilders when a node is explicitly closed.
      (package private) void onNodeInserted​(Node node)
      Called by implementing TreeBuilders when a node has been inserted.
      (package private) Document parse​(java.io.Reader input, java.lang.String baseUri, Parser parser)  
      (package private) abstract java.util.List<Node> parseFragment​(java.lang.String inputFragment, Element context, java.lang.String baseUri, Parser parser)  
      (package private) Element pop()
      Removes the last Element from the stack, hits onNodeClosed, and then returns it.
      (package private) abstract boolean process​(Token token)  
      (package private) boolean processEndTag​(java.lang.String name)  
      (package private) boolean processStartTag​(java.lang.String name)  
      (package private) boolean processStartTag​(java.lang.String name, Attributes attrs)  
      (package private) void push​(Element element)
      Adds the specified Element to the end of the stack, and hits onNodeInserted.
      (package private) void runParser()  
      (package private) Tag tagFor​(java.lang.String tagName, java.lang.String namespace, ParseSettings settings)  
      (package private) Tag tagFor​(java.lang.String tagName, ParseSettings settings)  
      private void trackNodePosition​(Node node, boolean isStart)  
      • Methods inherited from class java.lang.Object

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

      • TreeBuilder

        TreeBuilder()
    • Method Detail

      • initialiseParse

        void initialiseParse​(java.io.Reader input,
                             java.lang.String baseUri,
                             Parser parser)
      • parse

        Document parse​(java.io.Reader input,
                       java.lang.String baseUri,
                       Parser parser)
      • newInstance

        abstract TreeBuilder newInstance()
        Create a new copy of this TreeBuilder
        Returns:
        copy, ready for a new parse
      • parseFragment

        abstract java.util.List<Node> parseFragment​(java.lang.String inputFragment,
                                                    Element context,
                                                    java.lang.String baseUri,
                                                    Parser parser)
      • runParser

        void runParser()
      • process

        abstract boolean process​(Token token)
      • processStartTag

        boolean processStartTag​(java.lang.String name)
      • processStartTag

        boolean processStartTag​(java.lang.String name,
                                Attributes attrs)
      • processEndTag

        boolean processEndTag​(java.lang.String name)
      • pop

        final Element pop()
        Removes the last Element from the stack, hits onNodeClosed, and then returns it.
        Returns:
      • push

        final void push​(Element element)
        Adds the specified Element to the end of the stack, and hits onNodeInserted.
        Parameters:
        element -
      • currentElement

        Element currentElement()
        Get the current element (last on the stack). If all items have been removed, returns the document instead (which might not actually be on the stack; use stack.size() == 0 to test if required.
        Returns:
        the last element on the stack, if any; or the root document
      • currentElementIs

        boolean currentElementIs​(java.lang.String normalName)
        Checks if the Current Element's normal name equals the supplied name, in the HTML namespace.
        Parameters:
        normalName - name to check
        Returns:
        true if there is a current element on the stack, and its name equals the supplied
      • currentElementIs

        boolean currentElementIs​(java.lang.String normalName,
                                 java.lang.String namespace)
        Checks if the Current Element's normal name equals the supplied name, in the specified namespace.
        Parameters:
        normalName - name to check
        namespace - the namespace
        Returns:
        true if there is a current element on the stack, and its name equals the supplied
      • error

        void error​(java.lang.String msg)
        If the parser is tracking errors, add an error at the current position.
        Parameters:
        msg - error message
      • error

        void error​(java.lang.String msg,
                   java.lang.Object... args)
        If the parser is tracking errors, add an error at the current position.
        Parameters:
        msg - error message template
        args - template arguments
      • isContentForTagData

        boolean isContentForTagData​(java.lang.String normalName)
        (An internal method, visible for Element. For HTML parse, signals that script and style text should be treated as Data Nodes).
      • tagFor

        Tag tagFor​(java.lang.String tagName,
                   java.lang.String namespace,
                   ParseSettings settings)
      • defaultNamespace

        java.lang.String defaultNamespace()
        Gets the default namespace for this TreeBuilder
        Returns:
        the default namespace
      • onNodeInserted

        void onNodeInserted​(Node node)
        Called by implementing TreeBuilders when a node has been inserted. This implementation includes optionally tracking the source range of the node. @param node the node that was just inserted
      • onNodeClosed

        void onNodeClosed​(Node node)
        Called by implementing TreeBuilders when a node is explicitly closed. This implementation includes optionally tracking the closing source range of the node. @param node the node being closed
      • trackNodePosition

        private void trackNodePosition​(Node node,
                                       boolean isStart)