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