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