001package Torello.HTML.NodeSearch; 002 003import java.util.*; 004 005import Torello.HTML.*; 006import Torello.Java.LV; 007 008/** 009 * {@code Static} methods for building an {@link HNLIInclusive} (which also extends the basic 010 * {@code Iterator}) for retrieving sub HTML-Vector's via user-provided match-critera that specify 011 * the HTML Tag-Name.. 012 * 013 * <BR /><BR /><EMBED CLASS='external-html' DATA-FILE-ID=TagNodeInclusiveIterator> 014 */ 015@Torello.JavaDoc.JDHeaderBackgroundImg 016@Torello.JavaDoc.StaticFunctional 017public class TagNodeInclusiveIterator 018{ 019 private TagNodeInclusiveIterator() { } 020 021 public static HNLIInclusive iter (Vector<? extends HTMLNode> html, String... htmlTags) 022 { 023 final String[] checkedHTMLTags = ARGCHECK.htmlTags(htmlTags); 024 025 InclusiveException.check(htmlTags); 026 027 return new HNLIInclusive(html, (TagNode tn) -> tn.isTag(TC.OpeningTags, checkedHTMLTags)); 028 } 029 030 public static HNLIInclusive exceptIter (Vector<? extends HTMLNode> html, String... htmlTags) 031 { 032 final String[] checkedHTMLTags = ARGCHECK.htmlTags(htmlTags); 033 034 InclusiveException.check(htmlTags); 035 036 return new HNLIInclusive(html, (TagNode tn) -> tn.isTagExcept(TC.OpeningTags, checkedHTMLTags)); 037 } 038}