net.sf.xslthl
Class FilteredElementIterator

java.lang.Object
  extended by net.sf.xslthl.FilteredElementIterator
All Implemented Interfaces:
Iterator<Element>

public class FilteredElementIterator
extends Object
implements Iterator<Element>

An iterator over the child elements of a given element, filtered by a set of element names.

Author:
Michiel Hendriks

Nested Class Summary
static interface FilteredElementIterator.Acceptor
          Defines a filter used by this iterator
static class FilteredElementIterator.TagNameAcceptor
          Acceptor that accepts elements based on the tag name
 
Field Summary
protected  FilteredElementIterator.Acceptor acceptor
          The used acceptor for filtering
protected  Element base
          The current element
protected  Element current
          The current element
protected  boolean dirty
          If true a new value should be retrieved
protected  boolean finished
          Will be true if the search reached an end
 
Constructor Summary
FilteredElementIterator(Element baseElement, FilteredElementIterator.Acceptor filter)
           
FilteredElementIterator(Element baseElement, Set<String> acceptTagNames)
          Creates a filtered element iterator that accepts elements with a given tag name
 
Method Summary
protected  Element getAcceptedElement(Node node)
          Get the next accepted element.
protected  void getNextElement()
          Get the next valid element
 boolean hasNext()
           
 Element next()
           
 void remove()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

base

protected Element base
The current element


current

protected Element current
The current element


acceptor

protected FilteredElementIterator.Acceptor acceptor
The used acceptor for filtering


dirty

protected boolean dirty
If true a new value should be retrieved


finished

protected boolean finished
Will be true if the search reached an end

Constructor Detail

FilteredElementIterator

public FilteredElementIterator(Element baseElement,
                               FilteredElementIterator.Acceptor filter)

FilteredElementIterator

public FilteredElementIterator(Element baseElement,
                               Set<String> acceptTagNames)
Creates a filtered element iterator that accepts elements with a given tag name

Parameters:
baseElement -
acceptTagNames -
Method Detail

hasNext

public boolean hasNext()
Specified by:
hasNext in interface Iterator<Element>

next

public Element next()
Specified by:
next in interface Iterator<Element>

remove

public void remove()
Specified by:
remove in interface Iterator<Element>

getNextElement

protected void getNextElement()
Get the next valid element


getAcceptedElement

protected Element getAcceptedElement(Node node)
Get the next accepted element. Will continue searching for the next sibling nodes.

Parameters:
node - The first node to test
Returns:
The accepted element, or null


Copyright © 2005-2014. All Rights Reserved.