Package Torello.HTML.NodeSearch
Class TagNodeRemoveInclusive
- java.lang.Object
-
- Torello.HTML.NodeSearch.TagNodeRemoveInclusive
-
public class TagNodeRemoveInclusive extends java.lang.Object
TagNodeRemoveInclusive 🠞
TagNode:
This implies that only HTMLTagNode's
will be used for searching. The fieldTagNode.tok
field is used as a search criteria. Thispublic, final String
field contains the name of the HTML Element - for instance,'div', 'p', 'span', 'img'
, etc...
InnerTag's - (a.k.a. 'attributes') - are not part of the search.
Remove:
This implies thatnode
matches are removed from the underlying input-Vector
. This method will return a total count of the number of nodes removed.
Inclusive:
The word "Inclusive" is used to indicate that allHTMLNode's
between an opening and closing HTML-tag are requested. The concept is extremely similar to the Java-Script feature / term'.innerHTML'
, although in this (JavaHTML) JAR Library, noDOM-Trees
are ever constructed. This method will REMOVE all nodes between a matching, opening,TagNode
element, and its corresponding-closingTagNode
.
FindsTagNode
matches, and removes them with exactly the same means as classTagNodeRemove
but, additionally, finds the corresponding matching Closing-TagNode
and continues by removing that node, as well as every node situated between the two.
Methods Available
Method Explanation first (...) This will remove the first, complete, Vector<HTMLNode>
sub-list or sub-page found inside the vectorized HTML page parameter that matches the specified search-criteria.nth (...) This will remove the nth, complete, Vector<HTMLNode>
sub-list or sub-page found inside the vectorized HTML page parameter that matches the specified search-criteria.last (...) This will remove the last, complete, Vector<HTMLNode>
sub-list or sub-page found inside the vectorized HTML page parameter that matches the specified search-criteria.nthFromEnd (...) This will remove the nth-from-last, complete, Vector<HTMLNode>
sub-list or sub-page found inside the vectorized HTML page parameter that matches the specified search-criteria.all (...) This will remove the each and every, complete, Vector<HTMLNode>
sub-list or sub-page found inside the vectorized HTML page parameter that matches the specified search-criteria.allExcept (...) This will remove the each and every, complete, Vector<HTMLNode>
sub-list or sub-page found inside the vectorized HTML page parameter 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. int nth
This represents the 'nth' match of a comparison for-loop. When the method-signature used includes the int 'nth'
value, the firstn-1
matches will be skipped, and the'nth'
match will be removed.int sPos, int ePos
When these parameters are present, only HTMLNode's
that are found between the specifiedVector
indices will be considered for matching with the search criteria.
NOTE: In every situation where the parametersint 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 internalLV
('Loop Variable Counter') will have itspublic final int end;
field set to the length of the vectorized-html page that was passed. (html.size()
of parameterVector<HTMLNode> html
).
EXCEPTIONS: AnIndexOutOfBoundsException
will be thrown if:- If
sPos
is negative, or ifsPos
is greater-than or equal-to the size of the inputVector
- If
ePos
is zero, or greater than the size of the inputVector
. - If
sPos
is a larger integer thanePos
TC tagCriteria
The three values of enumeration TC
are:TC.OpeningTags, TC.ClosingTags
andTC.Both
. These values specify a search-criteria result set for an HTMLTagNode
. There are two types of HTML Elements:- "opening versions" of the HTML-tag such as:
<A HREF="...">
- "closing versions" of the element such as:
</A>
.
NOTE: If parameter'tagCriteria'
is passed a value ofTC.Both
, then (and this is hopefully obvious), that both 'opening' and 'closing' versions of the tag will be considered to meet / match the search criteria.String... htmlTags
When this parameter is present, only HTMLNode's
which are both instances ofclass TagNode
*and* whoseTagNode.tok
fieldString
-value matches (is equal to) at least one of the elements in thisVarArgs String
parameter-set will be considered for a match.
COMMON EXAMPLES: Some common examples of valid htmlTags are:a, div, img, table, tr, meta
as well as all other valid HTML element-tokens.
NOTE: This comparison is performed using a case-insensitive compare-method
EXCEPTIONS: If even one of the elements in this parameter-set is an invalid HTML token, anHTMLTokException
will be thrown.Return Values:
All method return an integer-number that represents how many elements were removed from the vectorized-html page parameter'html'
Hi-Lited Source-Code:This File's Source Code:
- View Here: Torello/HTML/NodeSearch/TagNodeRemoveInclusive.java
- Open New Browser-Tab: Torello/HTML/NodeSearch/TagNodeRemoveInclusive.java
File Size: 3,193 Bytes Line Count: 60 '\n' Characters Found
Actual Search Loop Class:
- View Here: SearchLoops/TagNodesInclusive/TNRemoveIncl.java
- Open New Browser-Tab: SearchLoops/TagNodesInclusive/TNRemoveIncl.java
File Size: 3,271 Bytes Line Count: 105 '\n' Characters Found
Argument Checker Class:
- View Here: ARGCHECK.java
- Open New Browser-Tab: ARGCHECK.java
File Size: 17,862 Bytes Line Count: 425 '\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
- 12 Method(s), 12 declared static
- 0 Field(s)
-
-
Method Summary
All Matches Modifier and Type Method static int
all(Vector<? extends HTMLNode> html, String... htmlTags)
All Matches, Range Limited Modifier and Type Method static int
all(Vector<? extends HTMLNode> html, int sPos, int ePos, String... htmlTags)
All Non-Matches Modifier and Type Method static int
allExcept(Vector<? extends HTMLNode> html, String... htmlTags)
All Non-Matches, Range Limited Modifier and Type Method static int
allExcept(Vector<? extends HTMLNode> html, int sPos, int ePos, String... htmlTags)
First Match Modifier and Type Method static int
first(Vector<? extends HTMLNode> html, String... htmlTags)
First Match, Range Limited Modifier and Type Method static int
first(Vector<? extends HTMLNode> html, int sPos, int ePos, String... htmlTags)
Last Match Modifier and Type Method static int
last(Vector<? extends HTMLNode> html, String... htmlTags)
Last Match, Range Limited Modifier and Type Method static int
last(Vector<? extends HTMLNode> html, int sPos, int ePos, String... htmlTags)
Nth Match Modifier and Type Method static int
nth(Vector<? extends HTMLNode> html, int nth, String... htmlTags)
Nth Match, Range Limited Modifier and Type Method static int
nth(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, String... htmlTags)
Nth Match From End Modifier and Type Method static int
nthFromEnd(Vector<? extends HTMLNode> html, int nth, String... htmlTags)
Nth Match From End, Range Limited Modifier and Type Method static int
nthFromEnd(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, String... htmlTags)
-