Package Torello.HTML.NodeSearch
Class CommentNodeIterator
- java.lang.Object
-
- Torello.HTML.NodeSearch.CommentNodeIterator
-
public class CommentNodeIterator extends java.lang.Object
CommentNodeIterator 🠞
CommentNode:
This implies thatTagNode
andTextNode
elements are ignored completely in this search, and instead, the "comments" between the<!--
and-->
symbols - which are all instances ofCommentNode
, 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
<
CommentNode
>
(which extends the basic iterator class) for iterating the comments 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<CommentNode>
that will iterate through eachCommentNode
found in the vectorized-page parameter'html'
that matches the specified search-criteria.exceptIterator (...) The returns an HNLI<CommentNode>
that will iterate through eachCommentNode
found in the vectorized-page parameter'html'
that does not match the specified search-criteria.Method Parameters
Parameter Explanation Vector<? extends 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 theString 'body'
field of aCommentNode
.
When this parameter is present in the method-signature parameter-list, the decision of whether aCommentNode
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
These parameters reference 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-ExpressionPattern
matching routine:p.asPredicate().test(comment_node.body)
when deciding whichCommentNode's
"match" this search-criteria.Predicate<String> p
When this parameter is present in the method-signature parameter-list, the decision of whether a CommentNode
is to be included in the search result-set are made by the results of the JavaPredicate.test(String)
method.
Specifically:p.test(comment_node.body)
String... compareStr
WORKS WITH: This parameter works in coordination with the TextComparitor tc
parameter. This parameter supplies theString's
with which the comparisons of theCommentNode.body
field may be compared.Return Values:
HNLI<CommentNode>
which returns, one-at-a-time,CommentNode's
out of the vectorized-HTML page parameter'html'
which matched.
Hi-Lited Source-Code:- View Here: Torello/HTML/NodeSearch/CommentNodeIterator.java
- Open New Browser-Tab: Torello/HTML/NodeSearch/CommentNodeIterator.java
File Size: 2,122 Bytes Line Count: 43 '\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<CommentNode>
iterator(Vector<? extends HTMLNode> html, Predicate<String> p)
static HNLI<CommentNode>
iterator(Vector<? extends HTMLNode> html, Pattern p)
static HNLI<CommentNode>
iterator(Vector<? extends HTMLNode> html, TextComparitor tc, String... compareStr)
Iterate Non-Matches Modifier and Type Method static HNLI<CommentNode>
exceptIterator(Vector<? extends HTMLNode> html, Predicate<String> p)
static HNLI<CommentNode>
exceptIterator(Vector<? extends HTMLNode> html, Pattern p)
static HNLI<CommentNode>
exceptIterator(Vector<? extends HTMLNode> html, TextComparitor tc, String... compareStr)
-