Package Torello.HTML.NodeSearch
Class TextNodeFind
- java.lang.Object
-
- Torello.HTML.NodeSearch.TextNodeFind
-
public class TextNodeFind extends java.lang.Object
TextNodeFind 🠞TextNode:This implies thatTagNodeelements are ignored completely in this search, and instead, the "text" (a.k.a. 'page-content'), represented as instances ofTextNode, are searched.
Find:This implies that integer values are returned by these methods. These integers are intended to serve as pointers into the underlying input JavaVector.
Retrieves indices from Vectorized-HTML that index HTML-Text matching a search-criteria specified byString-Predicate's, Regular-Expressions, or aTextComparitor.
Methods Available
Method Explanation first (...) This will retrieve an integer-pointer to the first TextNodematch found in the vectorized-page parameter'html'.nth (...) This will retrieve an integer-pointer to the nth TextNodematch found in the vectorized-page parameter'html'.last (...) This will retrieve an integer-pointer to the last TextNodematch found in the vectorized-page parameter'html'.nthFromEnd (...) This will retrieve an integer-pointer to the nth-from-last TextNodematch found in the vectorized-page parameter'html'.all (...) This will retrieve an integer-pointer to every TextNodefound in the vectorized-page parameter'html'that matches the specified search-criteria.allExcept (...) This will retrieve an integer-pointer to every TextNodefound in the vectorized-page parameter'html'that does not match the specified search-criteria.Method Parameters
Parameter Explanation Vector<? HTMLNode> htmlThis represents any vectorized HTML page, sub-page, or list of partial-elements. int nthThis represents the 'nth'match of a comparisonfor-loop. When the method-signature used includes the parameter'nth', the firstn-1matches that are found - will be skipped, and the'nth'match is, instead, returned.
EXCEPTIONS: AnNExceptionshall throw if the value of parameter'nth'is zero, negative, or larger than the size of the input html-Vector.int sPos, int ePosWhen these parameters are present, only HTMLNode'sthat are found between the specifiedVectorindices will be considered for matching with the search criteria.
NOTE: In every situation where the parametersint sPos, int ePosare used, parameter'ePos'will accept a negative value, but parameter'sPos'will not. When'ePos'is passed a negative-value, the internalLV('Loop Variable Counter') will have itspublic final int endfield set to the length of the vectorized-html page that was passed. (html.size()of parameterVector<HTMLNode> html).
EXCEPTIONS: AnIndexOutOfBoundsExceptionwill be thrown if:- If
sPosis negative, or ifsPosis greater-than or equal-to the size of the inputVector - If
ePosis zero, or greater than the size of the inputVector. - If
sPosis a larger integer thanePos
TextComparitor tcWORKS WITH: This parameter utilizes / works-with parameter String... compareStrto perform the requested comparisons. The comparisons are computed using theTextNode.str String-field of aTextNode.
When this parameter is present in the method-signature parameter-list, the decision of whether aTextNodeis to be included in the search result-set is defined by this parameter'sFunctionalInterface Predicate 'test'method.TextComparitoris a JavaBiPredicate<String, String[]>which compares its firstString-parameter against theString'sin its second.Pattern pThis parameter references Java's "Regular Expression" processing engine. If the method-signature includes the java.util.regex.Patternparameter, the search-loops will use the standard Regular-Expression pattern matching routine:p.asPredicate().test(text_node.str)when deciding whichTextNode's"match" this search-criteria.Predicate<String> pWhen this parameter is present in the method-signature parameter-list, the decision of whether a TextNodeis to be included in the search result-set are made by the results of the JavaPredicate.test(String)method.
Specifically:p.test(text_node.str)String... compareStrWORKS WITH: This parameter works in coordination with parameter TextComparitor tc. This parameter supplies theString'sby which the comparisons of theTextNode.strfield are compared.Return Values:
intrepresents a position in the html vectorized-page parameter'html'- A return value of
-1implies no matches were found. - 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 - 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.
Hi-Lited Source-Code:This File's Source Code:
- View Here: Torello/HTML/NodeSearch/TextNodeFind.java
- Open New Browser-Tab: Torello/HTML/NodeSearch/TextNodeFind.java
File Size: 8,624 Bytes Line Count: 131 '\n' Characters Found
Actual Search Loop Class:
- View Here: SearchLoops/TextNodes/TxNFind.java
- Open New Browser-Tab: SearchLoops/TextNodes/TxNFind.java
File Size: 1,780 Bytes Line Count: 70 '\n' Characters Found
Argument Checker Class:
- View Here: ARGCHECK.java
- Open New Browser-Tab: ARGCHECK.java
File Size: 17,874 Bytes Line Count: 425 '\n' Characters Found
Stateless Class:This class neither contains any program-state, nor can it be instantiated. The@StaticFunctionalAnnotation may also be called 'The Spaghetti Report'.Static-Functionalclasses are, essentially, C-Styled Files, without any constructors or non-static member fields. It is a concept very similar to the Java-Bean's@StatelessAnnotation.
- 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 intfirst(Vector<? extends HTMLNode> html, Predicate<String> p)static intfirst(Vector<? extends HTMLNode> html, Pattern p)static intfirst(Vector<? extends HTMLNode> html, TextComparitor tc, String... compareStr)First Match, Range Limited Modifier and Type Method static intfirst(Vector<? extends HTMLNode> html, int sPos, int ePos, Predicate<String> p)static intfirst(Vector<? extends HTMLNode> html, int sPos, int ePos, Pattern p)static intfirst(Vector<? extends HTMLNode> html, int sPos, int ePos, TextComparitor tc, String... compareStr)Last Match Modifier and Type Method static intlast(Vector<? extends HTMLNode> html, Predicate<String> p)static intlast(Vector<? extends HTMLNode> html, Pattern p)static intlast(Vector<? extends HTMLNode> html, TextComparitor tc, String... compareStr)Last Match, Range Limited Modifier and Type Method static intlast(Vector<? extends HTMLNode> html, int sPos, int ePos, Predicate<String> p)static intlast(Vector<? extends HTMLNode> html, int sPos, int ePos, Pattern p)static intlast(Vector<? extends HTMLNode> html, int sPos, int ePos, TextComparitor tc, String... compareStr)Nth Match Modifier and Type Method static intnth(Vector<? extends HTMLNode> html, int nth, Predicate<String> p)static intnth(Vector<? extends HTMLNode> html, int nth, Pattern p)static intnth(Vector<? extends HTMLNode> html, int nth, TextComparitor tc, String... compareStr)Nth Match, Range Limited Modifier and Type Method static intnth(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, Predicate<String> p)static intnth(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, Pattern p)static intnth(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, TextComparitor tc, String... compareStr)Nth Match From End Modifier and Type Method static intnthFromEnd(Vector<? extends HTMLNode> html, int nth, Predicate<String> p)static intnthFromEnd(Vector<? extends HTMLNode> html, int nth, Pattern p)static intnthFromEnd(Vector<? extends HTMLNode> html, int nth, TextComparitor tc, String... compareStr)Nth Match From End, Range Limited Modifier and Type Method static intnthFromEnd(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, Predicate<String> p)static intnthFromEnd(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, Pattern p)static intnthFromEnd(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, TextComparitor tc, String... compareStr)
-