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