001package Torello.HTML.NodeSearch;
002
003import java.util.Vector;
004import java.util.regex.Pattern;
005import java.util.function.Predicate;
006
007import Torello.HTML.*;
008import Torello.HTML.NodeSearch.searchLoops.ITFind;
009import Torello.Java.LV;
010
011/**
012 * <CODE>InnerTag Find - Documentation.</CODE><BR /><BR />
013 * <EMBED CLASS="external-html" DATA-FILE-ID="ITF"> 
014 */
015@Torello.HTML.Tools.JavaDoc.StaticFunctional
016public class InnerTagFind
017{
018    private InnerTagFind() { }
019
020    // ********************************************************************************************
021    // FIND-FIRST METHODS
022    // ********************************************************************************************
023
024    // **** Find-First, CRITERIA: htmlTag, sPos, ePos
025    public static int first(Vector<? extends HTMLNode> html, int sPos, int ePos, String htmlTag, String innerTag)
026    { return ITFind.NTH(html, 1, new LV(html, sPos, ePos), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), ARGCHECK.TRUE); }
027
028    public static int first(Vector<? extends HTMLNode> html, int sPos, int ePos, String htmlTag, String innerTag, TextComparitor tc, String... compareStr)
029    { return ITFind.NTH(html, 1, new LV(html, sPos, ePos), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), ARGCHECK.TC(tc, compareStr)); }
030
031    public static int first(Vector<? extends HTMLNode> html, int sPos, int ePos, String htmlTag, String innerTag, Pattern p)
032    { return ITFind.NTH(html, 1, new LV(html, sPos, ePos), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), ARGCHECK.REGEX(p)); }
033
034    public static int first(Vector<? extends HTMLNode> html, int sPos, int ePos, String htmlTag, String innerTag, Predicate<String> attributeValuePred)
035    { return ITFind.NTH(html, 1, new LV(html, sPos, ePos), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), attributeValuePred); }
036
037    public static int first(Vector<? extends HTMLNode> html, int sPos, int ePos, Predicate<TagNode> p, String... htmlTags)
038    { return ITFind.NTH(html, 1, new LV(html, sPos, ePos), p, ARGCHECK.htmlTags(htmlTags)); }
039
040
041    // **** Find-First, CRITERIA: htmlTag
042    public static int first(Vector<? extends HTMLNode> html, String htmlTag, String innerTag)
043    { return ITFind.NTH(html, 1, new LV(html, 0, -1), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), ARGCHECK.TRUE); }
044
045    public static int first(Vector<? extends HTMLNode> html, String htmlTag, String innerTag, TextComparitor tc, String... compareStr)
046    { return ITFind.NTH(html, 1, new LV(html, 0, -1), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), ARGCHECK.TC(tc, compareStr)); }
047
048    public static int first(Vector<? extends HTMLNode> html, String htmlTag, String innerTag, Pattern p)
049    { return ITFind.NTH(html, 1, new LV(html, 0, -1), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), ARGCHECK.REGEX(p)); }
050
051    public static int first(Vector<? extends HTMLNode> html, String htmlTag, String innerTag, Predicate<String> attributeValuePred)
052    { return ITFind.NTH(html, 1, new LV(html, 0, -1), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), attributeValuePred); }
053
054    public static int first(Vector<? extends HTMLNode> html, Predicate<TagNode> p, String... htmlTags)
055    { return ITFind.NTH(html, 1, new LV(html, 0, -1), p, ARGCHECK.htmlTags(htmlTags)); }
056
057
058    // **** Find-First, CRITERIA: sPos, ePos
059    public static int first(Vector<? extends HTMLNode> html, int sPos, int ePos, String innerTag)
060    { return ITFind.NTH(html, 1, new LV(html, sPos, ePos), null, ARGCHECK.innerTag(innerTag), ARGCHECK.TRUE); }
061
062    public static int first(Vector<? extends HTMLNode> html, int sPos, int ePos, String innerTag, TextComparitor tc, String... compareStr)
063    { return ITFind.NTH(html, 1, new LV(html, sPos, ePos), null, ARGCHECK.innerTag(innerTag), ARGCHECK.TC(tc, compareStr)); }
064
065    public static int first(Vector<? extends HTMLNode> html, int sPos, int ePos, String innerTag, Pattern p)
066    { return ITFind.NTH(html, 1, new LV(html, sPos, ePos), null, ARGCHECK.innerTag(innerTag), ARGCHECK.REGEX(p)); }
067
068    public static int first(Vector<? extends HTMLNode> html, int sPos, int ePos, String innerTag, Predicate<String> attributeValuePred)
069    { return ITFind.NTH(html, 1, new LV(html, sPos, ePos), null, ARGCHECK.innerTag(innerTag), attributeValuePred); }
070
071    public static int first(Vector<? extends HTMLNode> html, int sPos, int ePos, Predicate<TagNode> p)
072    { return ITFind.NTH(html, 1, new LV(html, sPos, ePos), p); }
073
074
075    // **** Find-First, ALL-CRITERIA-NULL
076    public static int first(Vector<? extends HTMLNode> html, String innerTag)
077    { return ITFind.NTH(html, 1, new LV(html, 0, -1), null, ARGCHECK.innerTag(innerTag), ARGCHECK.TRUE); }
078
079    public static int first(Vector<? extends HTMLNode> html, String innerTag, TextComparitor tc, String... compareStr)
080    { return ITFind.NTH(html, 1, new LV(html, 0, -1), null, ARGCHECK.innerTag(innerTag), ARGCHECK.TC(tc, compareStr)); }
081
082    public static int first(Vector<? extends HTMLNode> html, String innerTag, Pattern p)
083    { return ITFind.NTH(html, 1, new LV(html, 0, -1), null, ARGCHECK.innerTag(innerTag), ARGCHECK.REGEX(p)); }
084
085    public static int first(Vector<? extends HTMLNode> html, String innerTag, Predicate<String> attributeValuePred)
086    { return ITFind.NTH(html, 1, new LV(html, 0, -1), null, ARGCHECK.innerTag(innerTag), attributeValuePred); }
087
088    public static int first(Vector<? extends HTMLNode> html, Predicate<TagNode> p)
089    { return ITFind.NTH(html, 1, new LV(html, 0, -1), p); }
090
091    // ********************************************************************************************
092    // FIND-NTH - METHODS
093    // ********************************************************************************************
094
095    // **** Find-Nth, CRITERIA: htmlTag, sPos, ePos
096    public static int nth(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, String htmlTag, String innerTag)
097    { return ITFind.NTH(html, ARGCHECK.n(nth, html), new LV(html, sPos, ePos), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), ARGCHECK.TRUE); }
098
099    public static int nth(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, String htmlTag, String innerTag, TextComparitor tc, String... compareStr)
100    { return ITFind.NTH(html, ARGCHECK.n(nth, html), new LV(html, sPos, ePos), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), ARGCHECK.TC(tc, compareStr)); }
101
102    public static int nth(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, String htmlTag, String innerTag, Pattern p)
103    { return ITFind.NTH(html, ARGCHECK.n(nth, html), new LV(html, sPos, ePos), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), ARGCHECK.REGEX(p)); }
104
105    public static int nth(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, String htmlTag, String innerTag, Predicate<String> attributeValuePred)
106    { return ITFind.NTH(html, ARGCHECK.n(nth, html), new LV(html, sPos, ePos), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), attributeValuePred); }
107
108    public static int nth(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, Predicate<TagNode> p, String... htmlTags)
109    { return ITFind.NTH(html, ARGCHECK.n(nth, html), new LV(html, sPos, ePos), p, ARGCHECK.htmlTags(htmlTags)); }
110
111
112    // **** Find-Nth, CRITERIA: htmlTag
113    public static int nth(Vector<? extends HTMLNode> html, int nth, String htmlTag, String innerTag)
114    { return ITFind.NTH(html, ARGCHECK.n(nth, html), new LV(html, 0, -1), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), ARGCHECK.TRUE); }
115
116    public static int nth(Vector<? extends HTMLNode> html, int nth, String htmlTag, String innerTag, TextComparitor tc, String... compareStr)
117    { return ITFind.NTH(html, ARGCHECK.n(nth, html), new LV(html, 0, -1), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), ARGCHECK.TC(tc, compareStr)); }
118
119    public static int nth(Vector<? extends HTMLNode> html, int nth, String htmlTag, String innerTag, Pattern p)
120    { return ITFind.NTH(html, ARGCHECK.n(nth, html), new LV(html, 0, -1), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), ARGCHECK.REGEX(p)); }
121
122    public static int nth(Vector<? extends HTMLNode> html, int nth, String htmlTag, String innerTag, Predicate<String> attributeValuePred)
123    { return ITFind.NTH(html, ARGCHECK.n(nth, html), new LV(html, 0, -1), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), attributeValuePred); }
124
125    public static int nth(Vector<? extends HTMLNode> html, int nth, Predicate<TagNode> p, String... htmlTags)
126    { return ITFind.NTH(html, ARGCHECK.n(nth, html), new LV(html, 0, -1), p, ARGCHECK.htmlTags(htmlTags)); }
127
128
129    // **** Find-Nth, CRITERIA: sPos, ePos
130    public static int nth(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, String innerTag)
131    { return ITFind.NTH(html, ARGCHECK.n(nth, html), new LV(html, sPos, ePos), null, ARGCHECK.innerTag(innerTag), ARGCHECK.TRUE); }
132
133    public static int nth(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, String innerTag, TextComparitor tc, String... compareStr)
134    { return ITFind.NTH(html, ARGCHECK.n(nth, html), new LV(html, sPos, ePos), null, ARGCHECK.innerTag(innerTag), ARGCHECK.TC(tc, compareStr)); }
135
136    public static int nth(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, String innerTag, Pattern p)
137    { return ITFind.NTH(html, ARGCHECK.n(nth, html), new LV(html, sPos, ePos), null, ARGCHECK.innerTag(innerTag), ARGCHECK.REGEX(p)); }
138
139    public static int nth(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, String innerTag, Predicate<String> attributeValuePred)
140    { return ITFind.NTH(html, ARGCHECK.n(nth, html), new LV(html, sPos, ePos), null, ARGCHECK.innerTag(innerTag), attributeValuePred); }
141
142    public static int nth(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, Predicate<TagNode> p)
143    { return ITFind.NTH(html, ARGCHECK.n(nth, html), new LV(html, sPos, ePos), p); }
144
145
146    // **** Find-Nth, ALL-CRITERIA-NULL
147    public static int nth(Vector<? extends HTMLNode> html, int nth, String innerTag)
148    { return ITFind.NTH(html, ARGCHECK.n(nth, html), new LV(html, 0, -1), null, ARGCHECK.innerTag(innerTag), ARGCHECK.TRUE); }
149
150    public static int nth(Vector<? extends HTMLNode> html, int nth, String innerTag, TextComparitor tc, String... compareStr)
151    { return ITFind.NTH(html, ARGCHECK.n(nth, html), new LV(html, 0, -1), null, ARGCHECK.innerTag(innerTag), ARGCHECK.TC(tc, compareStr)); }
152
153    public static int nth(Vector<? extends HTMLNode> html, int nth, String innerTag, Pattern p)
154    { return ITFind.NTH(html, ARGCHECK.n(nth, html), new LV(html, 0, -1), null, ARGCHECK.innerTag(innerTag), ARGCHECK.REGEX(p)); }
155
156    public static int nth(Vector<? extends HTMLNode> html, int nth, String innerTag, Predicate<String> attributeValuePred)
157    { return ITFind.NTH(html, ARGCHECK.n(nth, html), new LV(html, 0, -1), null, ARGCHECK.innerTag(innerTag), attributeValuePred); }
158
159    public static int nth(Vector<? extends HTMLNode> html, int nth, Predicate<TagNode> p)
160    { return ITFind.NTH(html, ARGCHECK.n(nth, html), new LV(html, 0, -1), p); }
161
162    // ********************************************************************************************
163    // FIND-LAST METHODS
164    // ********************************************************************************************
165
166    // **** Find-Last, CRITERIA: htmlTag, sPos, ePos
167    public static int last(Vector<? extends HTMLNode> html, int sPos, int ePos, String htmlTag, String innerTag)
168    { return ITFind.NTHFE(html, 1, new LV(html, sPos, ePos), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), ARGCHECK.TRUE); }
169
170    public static int last(Vector<? extends HTMLNode> html, int sPos, int ePos, String htmlTag, String innerTag, TextComparitor tc, String... compareStr)
171    { return ITFind.NTHFE(html, 1, new LV(html, sPos, ePos), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), ARGCHECK.TC(tc, compareStr)); }
172
173    public static int last(Vector<? extends HTMLNode> html, int sPos, int ePos, String htmlTag, String innerTag, Pattern p)
174    { return ITFind.NTHFE(html, 1, new LV(html, sPos, ePos), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), ARGCHECK.REGEX(p)); }
175
176    public static int last(Vector<? extends HTMLNode> html, int sPos, int ePos, String htmlTag, String innerTag, Predicate<String> attributeValuePred)
177    { return ITFind.NTHFE(html, 1, new LV(html, sPos, ePos), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), attributeValuePred); }
178
179    public static int last(Vector<? extends HTMLNode> html, int sPos, int ePos, Predicate<TagNode> p, String... htmlTags)
180    { return ITFind.NTHFE(html, 1, new LV(html, sPos, ePos), p, ARGCHECK.htmlTags(htmlTags)); }
181
182
183    // **** Find-Last, CRITERIA: htmlTag
184    public static int last(Vector<? extends HTMLNode> html, String htmlTag, String innerTag)
185    { return ITFind.NTHFE(html, 1, new LV(html, 0, -1), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), ARGCHECK.TRUE); }
186
187    public static int last(Vector<? extends HTMLNode> html, String htmlTag, String innerTag, TextComparitor tc, String... compareStr)
188    { return ITFind.NTHFE(html, 1, new LV(html, 0, -1), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), ARGCHECK.TC(tc, compareStr)); }
189
190    public static int last(Vector<? extends HTMLNode> html, String htmlTag, String innerTag, Pattern p)
191    { return ITFind.NTHFE(html, 1, new LV(html, 0, -1), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), ARGCHECK.REGEX(p)); }
192
193    public static int last(Vector<? extends HTMLNode> html, String htmlTag, String innerTag, Predicate<String> attributeValuePred)
194    { return ITFind.NTHFE(html, 1, new LV(html, 0, -1), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), attributeValuePred); }
195
196    public static int last(Vector<? extends HTMLNode> html, Predicate<TagNode> p, String... htmlTags)
197    { return ITFind.NTHFE(html, 1, new LV(html, 0, -1), p, ARGCHECK.htmlTags(htmlTags)); }
198
199
200    // **** Find-Last, CRITERIA: sPos, ePos
201    public static int last(Vector<? extends HTMLNode> html, int sPos, int ePos, String innerTag)
202    { return ITFind.NTHFE(html, 1, new LV(html, sPos, ePos), null, ARGCHECK.innerTag(innerTag), ARGCHECK.TRUE); }
203
204    public static int last(Vector<? extends HTMLNode> html, int sPos, int ePos, String innerTag, TextComparitor tc, String... compareStr)
205    { return ITFind.NTHFE(html, 1, new LV(html, sPos, ePos), null, ARGCHECK.innerTag(innerTag), ARGCHECK.TC(tc, compareStr)); }
206
207    public static int last(Vector<? extends HTMLNode> html, int sPos, int ePos, String innerTag, Pattern p)
208    { return ITFind.NTHFE(html, 1, new LV(html, sPos, ePos), null, ARGCHECK.innerTag(innerTag), ARGCHECK.REGEX(p)); }
209
210    public static int last(Vector<? extends HTMLNode> html, int sPos, int ePos, String innerTag, Predicate<String> attributeValuePred)
211    { return ITFind.NTHFE(html, 1, new LV(html, sPos, ePos), null, ARGCHECK.innerTag(innerTag), attributeValuePred); }
212
213    public static int last(Vector<? extends HTMLNode> html, int sPos, int ePos, Predicate<TagNode> p)
214    { return ITFind.NTHFE(html, 1, new LV(html, sPos, ePos), p); }
215
216
217    // **** Find-Last, ALL-CRITERIA-NULL
218    public static int last(Vector<? extends HTMLNode> html, String innerTag)
219    { return ITFind.NTHFE(html, 1, new LV(html, 0, -1), null, ARGCHECK.innerTag(innerTag), ARGCHECK.TRUE); }
220
221    public static int last(Vector<? extends HTMLNode> html, String innerTag, TextComparitor tc, String... compareStr)
222    { return ITFind.NTHFE(html, 1, new LV(html, 0, -1), null, ARGCHECK.innerTag(innerTag), ARGCHECK.TC(tc, compareStr)); }
223
224    public static int last(Vector<? extends HTMLNode> html, String innerTag, Pattern p)
225    { return ITFind.NTHFE(html, 1, new LV(html, 0, -1), null, ARGCHECK.innerTag(innerTag), ARGCHECK.REGEX(p)); }
226
227    public static int last(Vector<? extends HTMLNode> html, String innerTag, Predicate<String> attributeValuePred)
228    { return ITFind.NTHFE(html, 1, new LV(html, 0, -1), null, ARGCHECK.innerTag(innerTag), attributeValuePred); }   
229
230    public static int last(Vector<? extends HTMLNode> html, Predicate<TagNode> p)
231    { return ITFind.NTHFE(html, 1, new LV(html, 0, -1), p); }   
232
233
234    // ********************************************************************************************
235    // FIND-NTH-FROM-END METHODS
236    // ********************************************************************************************
237
238    // **** Find-Nth-From-End, CRITERIA: htmlTag, sPos, ePos
239    public static int nthFromEnd(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, String htmlTag, String innerTag)
240    { return ITFind.NTHFE(html, ARGCHECK.n(nth, html), new LV(html, sPos, ePos), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), ARGCHECK.TRUE); }
241
242    public static int nthFromEnd(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, String htmlTag, String innerTag, TextComparitor tc, String... compareStr)
243    { return ITFind.NTHFE(html, ARGCHECK.n(nth, html), new LV(html, sPos, ePos), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), ARGCHECK.TC(tc, compareStr)); }
244
245    public static int nthFromEnd(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, String htmlTag, String innerTag, Pattern p)
246    { return ITFind.NTHFE(html, ARGCHECK.n(nth, html), new LV(html, sPos, ePos), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), ARGCHECK.REGEX(p)); }
247
248    public static int nthFromEnd(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, String htmlTag, String innerTag, Predicate<String> attributeValuePred)
249    { return ITFind.NTHFE(html, ARGCHECK.n(nth, html), new LV(html, sPos, ePos), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), attributeValuePred); }
250
251    public static int nthFromEnd(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, Predicate<TagNode> p, String... htmlTags)
252    { return ITFind.NTHFE(html, ARGCHECK.n(nth, html), new LV(html, sPos, ePos), p, ARGCHECK.htmlTags(htmlTags)); }
253
254
255    // **** Find-Nth-From-End, CRITERIA: htmlTag
256    public static int nthFromEnd(Vector<? extends HTMLNode> html, int nth, String htmlTag, String innerTag)
257    { return ITFind.NTHFE(html, ARGCHECK.n(nth, html), new LV(html, 0, -1), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), ARGCHECK.TRUE); }
258
259    public static int nthFromEnd(Vector<? extends HTMLNode> html, int nth, String htmlTag, String innerTag, TextComparitor tc, String... compareStr)
260    { return ITFind.NTHFE(html, ARGCHECK.n(nth, html), new LV(html, 0, -1), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), ARGCHECK.TC(tc, compareStr)); }
261
262    public static int nthFromEnd(Vector<? extends HTMLNode> html, int nth, String htmlTag, String innerTag, Pattern p)
263    { return ITFind.NTHFE(html, ARGCHECK.n(nth, html), new LV(html, 0, -1), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), ARGCHECK.REGEX(p)); }
264
265    public static int nthFromEnd(Vector<? extends HTMLNode> html, int nth, String htmlTag, String innerTag, Predicate<String> attributeValuePred)
266    { return ITFind.NTHFE(html, ARGCHECK.n(nth, html), new LV(html, 0, -1), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), attributeValuePred); }
267
268    public static int nthFromEnd(Vector<? extends HTMLNode> html, int nth, Predicate<TagNode> p, String... htmlTags)
269    { return ITFind.NTHFE(html, ARGCHECK.n(nth, html), new LV(html, 0, -1), p, ARGCHECK.htmlTags(htmlTags)); }
270
271
272    // **** Find-Nth-From-End, CRITERIA: sPos, ePos
273    public static int nthFromEnd(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, String innerTag)
274    { return ITFind.NTHFE(html, ARGCHECK.n(nth, html), new LV(html, sPos, ePos), null, ARGCHECK.innerTag(innerTag), ARGCHECK.TRUE); }
275
276    public static int nthFromEnd(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, String innerTag, TextComparitor tc, String... compareStr)
277    { return ITFind.NTHFE(html, ARGCHECK.n(nth, html), new LV(html, sPos, ePos), null, ARGCHECK.innerTag(innerTag), ARGCHECK.TC(tc, compareStr)); }
278
279    public static int nthFromEnd(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, String innerTag, Pattern p)
280    { return ITFind.NTHFE(html, ARGCHECK.n(nth, html), new LV(html, sPos, ePos), null, ARGCHECK.innerTag(innerTag), ARGCHECK.REGEX(p)); }
281
282    public static int nthFromEnd(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, String innerTag, Predicate<String> attributeValuePred)
283    { return ITFind.NTHFE(html, ARGCHECK.n(nth, html), new LV(html, sPos, ePos), null, ARGCHECK.innerTag(innerTag), attributeValuePred); }
284
285    public static int nthFromEnd(Vector<? extends HTMLNode> html, int nth, int sPos, int ePos, Predicate<TagNode> p)
286    { return ITFind.NTHFE(html, ARGCHECK.n(nth, html), new LV(html, sPos, ePos), p); }
287
288
289    // **** Find-Nth-From-End, ALL-CRITERIA-NULL
290    public static int nthFromEnd(Vector<? extends HTMLNode> html, int nth, String innerTag)
291    { return ITFind.NTHFE(html, ARGCHECK.n(nth, html), new LV(html, 0, -1), null, ARGCHECK.innerTag(innerTag), ARGCHECK.TRUE); }
292
293    public static int nthFromEnd(Vector<? extends HTMLNode> html, int nth, String innerTag, TextComparitor tc, String... compareStr)
294    { return ITFind.NTHFE(html, ARGCHECK.n(nth, html), new LV(html, 0, -1), null, ARGCHECK.innerTag(innerTag), ARGCHECK.TC(tc, compareStr)); }
295
296    public static int nthFromEnd(Vector<? extends HTMLNode> html, int nth, String innerTag, Pattern p)
297    { return ITFind.NTHFE(html, ARGCHECK.n(nth, html), new LV(html, 0, -1), null, ARGCHECK.innerTag(innerTag), ARGCHECK.REGEX(p)); }
298
299    public static int nthFromEnd(Vector<? extends HTMLNode> html, int nth, String innerTag, Predicate<String> attributeValuePred)
300    { return ITFind.NTHFE(html, ARGCHECK.n(nth, html), new LV(html, 0, -1), null, ARGCHECK.innerTag(innerTag), attributeValuePred); }   
301
302    public static int nthFromEnd(Vector<? extends HTMLNode> html, int nth, Predicate<TagNode> p)
303    { return ITFind.NTHFE(html, ARGCHECK.n(nth, html), new LV(html, 0, -1), p); }   
304
305    // ********************************************************************************************
306    // FIND-ALL METHODS
307    // ********************************************************************************************
308
309    // **** Find-First, CRITERIA: htmlTag, sPos, ePos
310    public static int[] all(Vector<? extends HTMLNode> html, int sPos, int ePos, String htmlTag, String innerTag)
311    { return ITFind.ALL(html, new LV(html, sPos, ePos), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), ARGCHECK.TRUE); }
312
313    public static int[] all(Vector<? extends HTMLNode> html, int sPos, int ePos, String htmlTag, String innerTag, TextComparitor tc, String... compareStr)
314    { return ITFind.ALL(html, new LV(html, sPos, ePos), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), ARGCHECK.TC(tc, compareStr)); }
315
316    public static int[] all(Vector<? extends HTMLNode> html, int sPos, int ePos, String htmlTag, String innerTag, Pattern p)
317    { return ITFind.ALL(html, new LV(html, sPos, ePos), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), ARGCHECK.REGEX(p)); }
318
319    public static int[] all(Vector<? extends HTMLNode> html, int sPos, int ePos, String htmlTag, String innerTag, Predicate<String> attributeValuePred)
320    { return ITFind.ALL(html, new LV(html, sPos, ePos), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), attributeValuePred); }
321
322    public static int[] all(Vector<? extends HTMLNode> html, int sPos, int ePos, Predicate<TagNode> p, String... htmlTags)
323    { return ITFind.ALL(html, new LV(html, sPos, ePos), p, ARGCHECK.htmlTags(htmlTags)); }
324
325
326    // **** Find-All, CRITERIA: htmlTag
327    public static int[] all(Vector<? extends HTMLNode> html, String htmlTag, String innerTag)
328    { return ITFind.ALL(html, new LV(html, 0, -1), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), ARGCHECK.TRUE); }
329
330    public static int[] all(Vector<? extends HTMLNode> html, String htmlTag, String innerTag, TextComparitor tc, String... compareStr)
331    { return ITFind.ALL(html, new LV(html, 0, -1), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), ARGCHECK.TC(tc, compareStr)); }
332
333    public static int[] all(Vector<? extends HTMLNode> html, String htmlTag, String innerTag, Pattern p)
334    { return ITFind.ALL(html, new LV(html, 0, -1), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), ARGCHECK.REGEX(p)); }
335
336    public static int[] all(Vector<? extends HTMLNode> html, String htmlTag, String innerTag, Predicate<String> attributeValuePred)
337    { return ITFind.ALL(html, new LV(html, 0, -1), ARGCHECK.htmlTag(htmlTag), ARGCHECK.innerTag(innerTag), attributeValuePred); }
338
339    public static int[] all(Vector<? extends HTMLNode> html, Predicate<TagNode> p, String... htmlTags)
340    { return ITFind.ALL(html, new LV(html, 0, -1), p, ARGCHECK.htmlTags(htmlTags)); }
341
342
343    // **** Find-First, CRITERIA: sPos, ePos
344    public static int[] all(Vector<? extends HTMLNode> html, int sPos, int ePos, String innerTag)
345    { return ITFind.ALL(html, new LV(html, sPos, ePos), null, ARGCHECK.innerTag(innerTag), ARGCHECK.TRUE); }
346
347    public static int[] all(Vector<? extends HTMLNode> html, int sPos, int ePos, String innerTag, TextComparitor tc, String... compareStr)
348    { return ITFind.ALL(html, new LV(html, sPos, ePos), null, ARGCHECK.innerTag(innerTag), ARGCHECK.TC(tc, compareStr)); }
349
350    public static int[] all(Vector<? extends HTMLNode> html, int sPos, int ePos, String innerTag, Pattern p)
351    { return ITFind.ALL(html, new LV(html, sPos, ePos), null, ARGCHECK.innerTag(innerTag), ARGCHECK.REGEX(p)); }
352
353    public static int[] all(Vector<? extends HTMLNode> html, int sPos, int ePos, String innerTag, Predicate<String> attributeValuePred)
354    { return ITFind.ALL(html, new LV(html, sPos, ePos), null, ARGCHECK.innerTag(innerTag), attributeValuePred); }
355
356    public static int[] all(Vector<? extends HTMLNode> html, int sPos, int ePos, Predicate<TagNode> p)
357    { return ITFind.ALL(html, new LV(html, sPos, ePos), p); }
358
359
360    // **** Find-All, ALL-CRITERIA-NULL
361    public static int[] all(Vector<? extends HTMLNode> html, String innerTag)
362    { return ITFind.ALL(html, new LV(html, 0, -1), null, ARGCHECK.innerTag(innerTag), ARGCHECK.TRUE); }
363
364    public static int[] all(Vector<? extends HTMLNode> html, String innerTag, TextComparitor tc, String... compareStr)
365    { return ITFind.ALL(html, new LV(html, 0, -1), null, ARGCHECK.innerTag(innerTag), ARGCHECK.TC(tc, compareStr)); }
366
367    public static int[] all(Vector<? extends HTMLNode> html, String innerTag, Pattern p)
368    { return ITFind.ALL(html, new LV(html, 0, -1), null, ARGCHECK.innerTag(innerTag), ARGCHECK.REGEX(p)); }
369
370    public static int[] all(Vector<? extends HTMLNode> html, String innerTag, Predicate<String> attributeValuePred)
371    { return ITFind.ALL(html, new LV(html, 0, -1), null, ARGCHECK.innerTag(innerTag), attributeValuePred); }
372
373    public static int[] all(Vector<? extends HTMLNode> html, Predicate<TagNode> p)
374    { return ITFind.ALL(html, new LV(html, 0, -1), p); }
375}