Package Torello.HTML.NodeSearch
Class TextNodeIterator
- java.lang.Object
-
- Torello.HTML.NodeSearch.TextNodeIterator
-
public class TextNodeIterator extends java.lang.Object
TextNodeIterator 🠞
TextNode:
This implies thatTagNode
elements 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's
make 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 HTMLTABLE
andUL / OL
are involved.
Static
methods 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 orTextComparitor
as a search specifier.
Methods Available
Method Explanation iterator (...) The returns an HNLI<TextNode>
that will iterate through eachTextNode
found in the vectorized-page parameter'html'
that matches the specified search-criteria.exceptIterator (...) The returns an HNLI<TextNode>
that will iterate through eachTextNode
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 theTextNode.str String
-field of aTextNode
.
When this parameter is present in the method-signature parameter-list, the decision of whether aTextNode
is to be included in the search result-set is defined by this parameter'sFunctionalInterface Predicate 'test'
method.TextComparitor
is a JavaBiPredicate<String, String[]>
which compares its firstString
-parameter against theString'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 whichTextNode'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 JavaPredicate.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 theString's
by which the comparisons of theTextNode.str
field are compared.Return Values:
HNLI<TextNode>
which returns, one-at-a-time,TextNode's
out 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,093 Bytes Line Count: 42 '\n' Characters Found
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)
-