Package Torello.HTML.NodeSearch
Class TextNodeIterator
- java.lang.Object
-
- Torello.HTML.NodeSearch.TextNodeIterator
-
public class TextNodeIterator extends java.lang.Object
TextNodeIterator 🠞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.
Iterator:This means that javaIterator's(extension ofjava.util.ListIterator<E>) are returned, rather than simple-results or vectors of results.Iterator'smake updating aVector<HTMLNode>much easier (by avoiding the problems caused by stale index-pointers), and usually simply many of the retrieval & removal operations when large HTMLTABLEandUL / OLare involved.
Staticmethods for building and instantiating anHNLI<TextNode>(which extends the basic iterator class) for iterating the text inside of an HTML-Vector, with the help of a user-providedString-Predicate, Regular Expression orTextComparitoras a search specifier.
Methods Available
Method Explanation iterator (...) The returns an HNLI<TextNode>that will iterate through eachTextNodefound in the vectorized-page parameter'html'that matches the specified search-criteria.exceptIterator (...) The returns an HNLI<TextNode>that will iterate through eachTextNodefound 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. 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:
HNLI<TextNode>which returns, one-at-a-time,TextNode'sout of the vectorized-HTML page parameter'html'which matched.
Hi-Lited Source-Code:- View Here: Torello/HTML/NodeSearch/TextNodeIterator.java
- Open New Browser-Tab: Torello/HTML/NodeSearch/TextNodeIterator.java
File Size: 2,117 Bytes Line Count: 42 '\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
- 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)
-