Package Torello.HTML.NodeSearch
Class TagNodeGetInclusive
- java.lang.Object
-
- Torello.HTML.NodeSearch.TagNodeGetInclusive
-
public class TagNodeGetInclusive extends java.lang.Object
TagNodeGetInclusive 🠞TagNode:This implies that only HTMLTagNode'swill be used for searching. The fieldTagNode.tokfield is used as a search criteria. Thispublic, final Stringfield 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.
Get:This implies thatVector<HTMLNode>sublists are returned by these methods - rather thanDotPair-sublistVector-index pointers.
Inclusive:The word "Inclusive" is used to indicate that allHTMLNode'sbetween 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-Treesare ever constructed. This method will GET all nodes between a matching, opening,TagNodeelement, and its corresponding-closingTagNode.
Searches forTagNodematches using exactly the same criteria offered by classTagNodeGet, but also retrieves the corresponding Closing-Tag from theVector, and return a new HTML-Vectorcontaining this sublist.
Methods Available
Method Explanation first (...) This will retrieve the first TagNode, and it's closing-tag pair, that meet the specified criteria as aVector<HTMLNode>sub-list or sub-page copied out of the passed-parameter html-page or sub-page'html'.nth (...) This will retrieve the nth TagNode, and it's closing-tag pair, that meet the specified criteria as aVector<HTMLNode>sub-list or sub-page copied out of the passed-parameter html-page or sub-page'html'.last (...) This will retrieve the last TagNode, and it's closing-tag pair, that meet the specified criteria as aVector<HTMLNode>sub-list or sub-page copied out of the passed-parameter html-page or sub-page'html'.nthFromEnd (...) This will retrieve the nth-from-last TagNode, and it's closing-tag pair, that meet the specified criteria as aVector<HTMLNode>sub-list or sub-page copied out of the passed-parameter html-page or sub-page'html'.all (...) Retrieves every sub-list or sub-page as a Vector<HTMLNode>copied out of the passed-parameter html-page or sub-page'html'for eachTagNode, and it's closing-tag pair, that meet the specified criteria .allExcept (...) Retrieves every sub-list or sub-page as a Vector<HTMLNode>copied out of the passed-parameter html-page or sub-page'html'for eachTagNode, and it's closing-tag pair, that that do not meet the specified criteria.Method Parameters
Parameter Explanation Vector<? extends 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 end;field 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
TC tagCriteriaThe three values of enumeration TCare:TC.OpeningTags, TC.ClosingTagsandTC.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... htmlTagsWhen this parameter is present, only HTMLNode'swhich are both instances ofclass TagNode*and* whoseTagNode.tokfieldString-value matches (is equal to) at least one of the elements in thisVarArgs Stringparameter-set will be considered for a match.
COMMON EXAMPLES: Some common examples of valid htmlTags are:a, div, img, table, tr, metaas 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, anHTMLTokExceptionwill be thrown.Return Values:
Vector<HTMLNode>This is a sub-set or sub-list that matches the search-criteria from the html vectorized-page parameter'html'- A return value of
nullimplies no matching sub-lists or sub-pages were found. - Vector<Vector<HTMLNode>> This would be a "list of sub-lists" or an "array of sub-arrays" which are used when multiple results (multiple sub-lists) are needed to be returned to the calling procedure.
- A zero-length
Vector<Vector<HTMLNode>>vector means no matches were found on the page or sub-page. Zero-length vectors 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/TagNodeGetInclusive.java
- Open New Browser-Tab: Torello/HTML/NodeSearch/TagNodeGetInclusive.java
File Size: 3,771 Bytes Line Count: 59 '\n' Characters Found
Actual Search Loop Class:
- View Here: SearchLoops/TagNodesInclusive/TNGetIncl.java
- Open New Browser-Tab: SearchLoops/TagNodesInclusive/TNGetIncl.java
File Size: 2,782 Bytes Line Count: 95 '\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
- 12 Method(s), 12 declared static
- 0 Field(s)
-
-
Method Summary
All Matches Modifier and Type Method static Vector<Vector<HTMLNode>>all(Vector<? extends HTMLNode> html, String... htmlTags)All Matches, Range Limited Modifier and Type Method static Vector<Vector<HTMLNode>>all(Vector<? extends HTMLNode> html, int sPos, int ePos, String... htmlTags)All Non-Matches Modifier and Type Method static Vector<Vector<HTMLNode>>allExcept(Vector<? extends HTMLNode> html, String... htmlTags)All Non-Matches, Range Limited Modifier and Type Method static Vector<Vector<HTMLNode>>allExcept(Vector<? extends HTMLNode> html, int sPos, int ePos, String... htmlTags)First Match Modifier and Type Method static Vector<HTMLNode>first(Vector<? extends HTMLNode> html, String... htmlTags)First Match, Range Limited Modifier and Type Method static Vector<HTMLNode>first(Vector<? extends HTMLNode> html, int sPos, int ePos, String... htmlTags)Last Match Modifier and Type Method static Vector<HTMLNode>last(Vector<? extends HTMLNode> html, String... htmlTags)Last Match, Range Limited Modifier and Type Method static Vector<HTMLNode>last(Vector<? extends HTMLNode> html, int sPos, int ePos, String... htmlTags)Nth Match Modifier and Type Method static Vector<HTMLNode>nth(Vector<? extends HTMLNode> html, int nth, String... htmlTags)Nth Match, Range Limited Modifier and Type Method static Vector<HTMLNode>nth(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, String... htmlTags)Nth Match From End Modifier and Type Method static Vector<HTMLNode>nthFromEnd(Vector<? extends HTMLNode> html, int nth, String... htmlTags)Nth Match From End, Range Limited Modifier and Type Method static Vector<HTMLNode>nthFromEnd(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, String... htmlTags)
-