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