Package Torello.HTML.NodeSearch
Class TagNodePollInclusive
- java.lang.Object
-
- Torello.HTML.NodeSearch.TagNodePollInclusive
-
public class TagNodePollInclusive extends java.lang.Object
TagNodePollInclusive 🠞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.
Poll:This refers to the operation of both removing and returningnodematches to the programmer. After a'poll'operation, the initial vectorized-html will actually contain fewer elements - and the removed elements shall be returned to the calling method.
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 POLL all nodes between a matching, opening,TagNodeelement, and its corresponding-closingTagNode.
Searches forTagNodematches, using exactly the same criteria offered by classTagNodePoll, but also obtains the corresponding Closing-Tags from the input-Vectorand, subsequently, extracts these sublists from the input-Vectorand then returns the sublists as new instances ofVector<HTMLNode>.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> htmlThis represents any vectorized HTML page, sub-page, or list of partial-elements. int nthThis represents the 'nth' match of a comparison for-loop. When the method-signature used includes the int 'nth'value, the firstn-1matches will be skipped, and the'nth'match will be removed.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'These are the exact nodes that were removed from the input-vector.- 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) were removed from the input-vector, and being returned as a result of the "Poll" operation.
- A zero-length
Vector<Vector<HTMLNode>>vector means no matches were found on the page or sub-page. This also shall mean that the original-input vector shall remain unchanged - with no sublists having been removed. 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/TagNodePollInclusive.java
- Open New Browser-Tab: Torello/HTML/NodeSearch/TagNodePollInclusive.java
File Size: 4,184 Bytes Line Count: 62 '\n' Characters Found
Actual Search Loop Class:
- View Here: SearchLoops/TagNodesInclusive/TNPollIncl.java
- Open New Browser-Tab: SearchLoops/TagNodesInclusive/TNPollIncl.java
File Size: 3,373 Bytes Line Count: 108 '\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)
-