Package Torello.HTML.NodeSearch
Class TagNodeFind
- java.lang.Object
-
- Torello.HTML.NodeSearch.TagNodeFind
-
public class TagNodeFind extends java.lang.Object
TagNodeFind 🠞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.
Find:This implies that integer values are returned by these methods. These integers are intended to serve as pointers into the underlying input JavaVector.
Searches an HTML-Vector for HTML-Tag's that match a specified search-criteria based on Tag-Name and whether the Tag is an opening or closing tag, and returns the Vector-indices for those matches.
Methods Available
Method Explanation first (...) Obtain the first integer-value node-pointer in the HTML Vectorthat meets the criteria.nth (...) Obtain the nth integer-value node-pointer in the HTML Vectorthat meets the criteria.last (...) Obtain the last integer-value node-pointer in the HTML Vectorthat meets the criteria.nthFromEnd (...) Obtain the nth-from-last integer-value node-pointer in the HTML Vectorwhich meets the criteria.all (...) Obtain all integer-value node-pointers in the HTML Vectorwhich meet the criteria.allExcept (...) Obtain all integer-value node-pointer in the HTML Vectorwhich do not meet the 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:
intrepresents a position in the html vectorized-page parameter'html'- A return value of
-1implies no matches were found. - int[] - An array of integers represent a list of indexes into the vectorized-page parameter
'html', with each integer being a different position in the vector that has a matching TagNode - A zero-length
int[]array means no matches were found on the page or sub-page. Zero-length arrays 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/TagNodeFind.java
- Open New Browser-Tab: Torello/HTML/NodeSearch/TagNodeFind.java
File Size: 3,557 Bytes Line Count: 59 '\n' Characters Found
Actual Search Loop Class:
- View Here: SearchLoops/TagNodes/TNFind.java
- Open New Browser-Tab: SearchLoops/TagNodes/TNFind.java
File Size: 1,965 Bytes Line Count: 72 '\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 int[]all(Vector<? extends HTMLNode> html, TC tagCriteria, String... htmlTags)All Matches, Range Limited Modifier and Type Method static int[]all(Vector<? extends HTMLNode> html, int sPos, int ePos, TC tagCriteria, String... htmlTags)All Non-Matches Modifier and Type Method static int[]allExcept(Vector<? extends HTMLNode> html, TC tagCriteria, String... htmlTags)All Non-Matches, Range Limited Modifier and Type Method static int[]allExcept(Vector<? extends HTMLNode> html, int sPos, int ePos, TC tagCriteria, String... htmlTags)First Match Modifier and Type Method static intfirst(Vector<? extends HTMLNode> html, TC tagCriteria, String... htmlTags)First Match, Range Limited Modifier and Type Method static intfirst(Vector<? extends HTMLNode> html, int sPos, int ePos, TC tagCriteria, String... htmlTags)Last Match Modifier and Type Method static intlast(Vector<? extends HTMLNode> html, TC tagCriteria, String... htmlTags)Last Match, Range Limited Modifier and Type Method static intlast(Vector<? extends HTMLNode> html, int sPos, int ePos, TC tagCriteria, String... htmlTags)Nth Match Modifier and Type Method static intnth(Vector<? extends HTMLNode> html, int nth, TC tagCriteria, String... htmlTags)Nth Match, Range Limited Modifier and Type Method static intnth(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, TC tagCriteria, String... htmlTags)Nth Match From End Modifier and Type Method static intnthFromEnd(Vector<? extends HTMLNode> html, int nth, TC tagCriteria, String... htmlTags)Nth Match From End, Range Limited Modifier and Type Method static intnthFromEnd(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, TC tagCriteria, String... htmlTags)
-