Class TextNodeIterator


  • public class TextNodeIterator
    extends java.lang.Object
    TextNodeIterator 🠞
    1. TextNode: This implies that TagNode elements are ignored completely in this search, and instead, the "text" (a.k.a. 'page-content'), represented as instances of TextNode, are searched.

    2. Iterator: This means that java Iterator's (extension of java.util.ListIterator<E>) are returned, rather than simple-results or vectors of results. Iterator's make updating a Vector<HTMLNode> much easier (by avoiding the problems caused by stale index-pointers), and usually simply many of the retrieval & removal operations when large HTML TABLE and UL / OL are involved.
    Static methods for building and instantiating an HNLI<TextNode> (which extends the basic iterator class) for iterating the text inside of an HTML-Vector, with the help of a user-provided String-Predicate, Regular Expression or TextComparitor as a search specifier.

    Methods Available

    Method Explanation
    iterator (...) The returns an HNLI<TextNode> that will iterate through each TextNode found in the vectorized-page parameter 'html' that matches the specified search-criteria.
    exceptIterator (...) The returns an HNLI<TextNode> that will iterate through each TextNode found in the vectorized-page parameter 'html' that does not match the specified search-criteria.

    Method Parameters

    Parameter Explanation
    Vector<? HTMLNode> html This represents any vectorized HTML page, sub-page, or list of partial-elements.
    TextComparitor tc WORKS WITH: This parameter utilizes / works-with parameter String... compareStr to perform the requested comparisons. The comparisons are computed using the TextNode.str String-field of a TextNode.

    When this parameter is present in the method-signature parameter-list, the decision of whether a TextNode is to be included in the search result-set is defined by this parameter's FunctionalInterface Predicate 'test' method. TextComparitor is a Java BiPredicate<String, String[]> which compares its first String-parameter against the String's in its second.
    Pattern p This parameter references Java's "Regular Expression" processing engine. If the method-signature includes the java.util.regex.Pattern parameter, the search-loops will use the standard Regular-Expression pattern matching routine: p.asPredicate().test(text_node.str) when deciding which TextNode's "match" this search-criteria.
    Predicate<String> p When this parameter is present in the method-signature parameter-list, the decision of whether a TextNode is to be included in the search result-set are made by the results of the Java Predicate.test(String) method.

    Specifically: p.test(text_node.str)
    String... compareStr WORKS WITH: This parameter works in coordination with parameter TextComparitor tc. This parameter supplies the String's by which the comparisons of the TextNode.str field are compared.

    Return Values:

    1. HNLI<TextNode> which returns, one-at-a-time, TextNode's out of the vectorized-HTML page parameter 'html' which matched.



    Stateless Class:
    This class neither contains any program-state, nor can it be instantiated. The @StaticFunctional Annotation may also be called 'The Spaghetti Report'. Static-Functional classes are, essentially, C-Styled Files, without any constructors or non-static member fields. It is a concept very similar to the Java-Bean's @Stateless Annotation.

    • 1 Constructor(s), 1 declared private, zero-argument constructor
    • 6 Method(s), 6 declared static
    • 0 Field(s)


    • Method Summary

       
      Iterate Matches
      Modifier and Type Method
      static HNLI<TextNode> iterator​(Vector<? extends HTMLNode> html, Predicate<String> p)
      static HNLI<TextNode> iterator​(Vector<? extends HTMLNode> html, Pattern p)
      static HNLI<TextNode> iterator​(Vector<? extends HTMLNode> html, TextComparitor tc, String... compareStr)
       
      Iterate Non-Matches
      Modifier and Type Method
      static HNLI<TextNode> exceptIterator​(Vector<? extends HTMLNode> html, Predicate<String> p)
      static HNLI<TextNode> exceptIterator​(Vector<? extends HTMLNode> html, Pattern p)
      static HNLI<TextNode> exceptIterator​(Vector<? extends HTMLNode> html, TextComparitor tc, String... compareStr)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait