Class TextNodeFind


  • public class TextNodeFind
    extends java.lang.Object
    Retrieves indices from Vectorized-HTML that index HTML-Text matching a search-criteria specified by String-Predicate's, Regular-Expressions, or a TextComparitor.

    TextNodeFind =>

    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. Find: This implies that integer values are returned by these methods. These integers are intended to serve as pointers into the underlying input Java Vector.

    Methods Available

    Method Explanation
    first (...) This will retrieve an integer-pointer to the first TextNode match found in the vectorized-page parameter 'html'.
    nth (...) This will retrieve an integer-pointer to the nth TextNode match found in the vectorized-page parameter 'html'.
    last (...) This will retrieve an integer-pointer to the last TextNode match found in the vectorized-page parameter 'html'.
    nthFromEnd (...) This will retrieve an integer-pointer to the nth-from-last TextNode match found in the vectorized-page parameter 'html'.
    all (...) This will retrieve an integer-pointer to every TextNode found in the vectorized-page parameter 'html' that matches the specified search-criteria.
    allExcept (...) This will retrieve an integer-pointer to every 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.
    int nth This represents the 'nth' match of a comparison for-loop. When the method-signature used includes the parameter 'nth' , the first n-1 matches that are found - will be skipped, and the 'nth' match is, instead, returned.

    EXCEPTIONS: An NException shall throw if the value of parameter 'nth' is zero, negative, or larger than the size of the input html-Vector.
    int sPos, int ePos When these parameters are present, only HTMLNode's that are found between the specified Vector indices will be considered for matching with the search criteria.

    NOTE: In every situation where the parameters int sPos, int ePos are used, parameter 'ePos' will accept a negative value, but parameter 'sPos' will not. When 'ePos' is passed a negative-value, the internal LV ('Loop Variable Counter') will have its public final int end field set to the length of the vectorized-html page that was passed. (html.size() of parameter Vector<HTMLNode> html).

    EXCEPTIONS: An IndexOutOfBoundsException will be thrown if:

    • If sPos is negative, or if sPos is greater-than or equal-to the size of the input Vector
    • If ePos is zero, or greater than the size of the input Vector.
    • If sPos is a larger integer than ePos
    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. int represents a position in the html vectorized-page parameter 'html'
    2. A return value of -1 implies no matches were found.
    3. int[] - An array of integers represent a list of indexes into the vectorized-page parameter 'html', with each integer being a different position in the vector that has a matching TextNode
    4. A zero-length int[] array means no matches were found on the page or sub-page. Zero-length arrays are returned from any method where the possibility existed for multiple-matches being provided as a result-set.


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 field. It is very similar to the Java-Bean @Stateless Annotation.
  • 1 Constructor(s), 1 declared private, zero-argument constructor
  • 36 Method(s), 36 declared static
  • 0 Field(s)


    • Method Summary

       
      All Matches
      Modifier and Type Method
      static int[] all​(Vector<? extends HTMLNode> html, Predicate<String> p)
      static int[] all​(Vector<? extends HTMLNode> html, Pattern p)
      static int[] all​(Vector<? extends HTMLNode> html, TextComparitor tc, String... compareStr)
       
      All Matches, Range Limited
      Modifier and Type Method
      static int[] all​(Vector<? extends HTMLNode> html, int sPos, int ePos, Predicate<String> p)
      static int[] all​(Vector<? extends HTMLNode> html, int sPos, int ePos, Pattern p)
      static int[] all​(Vector<? extends HTMLNode> html, int sPos, int ePos, TextComparitor tc, String... compareStr)
       
      All Non-Matches
      Modifier and Type Method
      static int[] allExcept​(Vector<? extends HTMLNode> html, Predicate<String> p)
      static int[] allExcept​(Vector<? extends HTMLNode> html, Pattern p)
      static int[] allExcept​(Vector<? extends HTMLNode> html, TextComparitor tc, String... compareStr)
       
      All Non-Matches, Range Limited
      Modifier and Type Method
      static int[] allExcept​(Vector<? extends HTMLNode> html, int sPos, int ePos, Predicate<String> p)
      static int[] allExcept​(Vector<? extends HTMLNode> html, int sPos, int ePos, Pattern p)
      static int[] allExcept​(Vector<? extends HTMLNode> html, int sPos, int ePos, TextComparitor tc, String... compareStr)
       
      First Match
      Modifier and Type Method
      static int first​(Vector<? extends HTMLNode> html, Predicate<String> p)
      static int first​(Vector<? extends HTMLNode> html, Pattern p)
      static int first​(Vector<? extends HTMLNode> html, TextComparitor tc, String... compareStr)
       
      First Match, Range Limited
      Modifier and Type Method
      static int first​(Vector<? extends HTMLNode> html, int sPos, int ePos, Predicate<String> p)
      static int first​(Vector<? extends HTMLNode> html, int sPos, int ePos, Pattern p)
      static int first​(Vector<? extends HTMLNode> html, int sPos, int ePos, TextComparitor tc, String... compareStr)
       
      Last Match
      Modifier and Type Method
      static int last​(Vector<? extends HTMLNode> html, Predicate<String> p)
      static int last​(Vector<? extends HTMLNode> html, Pattern p)
      static int last​(Vector<? extends HTMLNode> html, TextComparitor tc, String... compareStr)
       
      Last Match, Range Limited
      Modifier and Type Method
      static int last​(Vector<? extends HTMLNode> html, int sPos, int ePos, Predicate<String> p)
      static int last​(Vector<? extends HTMLNode> html, int sPos, int ePos, Pattern p)
      static int last​(Vector<? extends HTMLNode> html, int sPos, int ePos, TextComparitor tc, String... compareStr)
       
      Nth Match
      Modifier and Type Method
      static int nth​(Vector<? extends HTMLNode> html, int nth, Predicate<String> p)
      static int nth​(Vector<? extends HTMLNode> html, int nth, Pattern p)
      static int nth​(Vector<? extends HTMLNode> html, int nth, TextComparitor tc, String... compareStr)
       
      Nth Match, Range Limited
      Modifier and Type Method
      static int nth​(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, Predicate<String> p)
      static int nth​(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, Pattern p)
      static int nth​(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, TextComparitor tc, String... compareStr)
       
      Nth Match From End
      Modifier and Type Method
      static int nthFromEnd​(Vector<? extends HTMLNode> html, int nth, Predicate<String> p)
      static int nthFromEnd​(Vector<? extends HTMLNode> html, int nth, Pattern p)
      static int nthFromEnd​(Vector<? extends HTMLNode> html, int nth, TextComparitor tc, String... compareStr)
       
      Nth Match From End, Range Limited
      Modifier and Type Method
      static int nthFromEnd​(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, Predicate<String> p)
      static int nthFromEnd​(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, Pattern p)
      static int nthFromEnd​(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, TextComparitor tc, String... compareStr)
      • Methods inherited from class java.lang.Object

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