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