Class FilterListIterator

  • All Implemented Interfaces:
    java.util.Iterator, java.util.ListIterator

    public class FilterListIterator
    extends java.lang.Object
    implements java.util.ListIterator
    Decorates another ListIterator using a predicate to filter elements.

    This iterator decorates the underlying iterator, only allowing through those elements that match the specified Predicate.

    Since:
    Commons Collections 2.0
    Version:
    $Revision: 646777 $ $Date: 2008-04-10 14:33:15 +0200 (Thu, 10 Apr 2008) $
    • Field Detail

      • iterator

        private java.util.ListIterator iterator
        The iterator being used
      • predicate

        private Predicate predicate
        The predicate being used
      • nextObject

        private java.lang.Object nextObject
        The value of the next (matching) object, when nextObjectSet is true.
      • nextObjectSet

        private boolean nextObjectSet
        Whether or not the nextObject has been set (possibly to null).
      • previousObject

        private java.lang.Object previousObject
        The value of the previous (matching) object, when previousObjectSet is true.
      • previousObjectSet

        private boolean previousObjectSet
        Whether or not the previousObject has been set (possibly to null).
      • nextIndex

        private int nextIndex
        The index of the element that would be returned by next().
    • Constructor Detail

      • FilterListIterator

        public FilterListIterator()
        Constructs a new FilterListIterator that will not function until setListIterator and setPredicate are invoked.
      • FilterListIterator

        public FilterListIterator​(java.util.ListIterator iterator)
        Constructs a new FilterListIterator that will not function until setPredicate is invoked.
        Parameters:
        iterator - the iterator to use
      • FilterListIterator

        public FilterListIterator​(java.util.ListIterator iterator,
                                  Predicate predicate)
        Constructs a new FilterListIterator.
        Parameters:
        iterator - the iterator to use
        predicate - the predicate to use
      • FilterListIterator

        public FilterListIterator​(Predicate predicate)
        Constructs a new FilterListIterator that will not function until setListIterator is invoked.
        Parameters:
        predicate - the predicate to use.
    • Method Detail

      • add

        public void add​(java.lang.Object o)
        Not supported.
        Specified by:
        add in interface java.util.ListIterator
      • hasNext

        public boolean hasNext()
        Specified by:
        hasNext in interface java.util.Iterator
        Specified by:
        hasNext in interface java.util.ListIterator
      • hasPrevious

        public boolean hasPrevious()
        Specified by:
        hasPrevious in interface java.util.ListIterator
      • next

        public java.lang.Object next()
        Specified by:
        next in interface java.util.Iterator
        Specified by:
        next in interface java.util.ListIterator
      • nextIndex

        public int nextIndex()
        Specified by:
        nextIndex in interface java.util.ListIterator
      • previous

        public java.lang.Object previous()
        Specified by:
        previous in interface java.util.ListIterator
      • previousIndex

        public int previousIndex()
        Specified by:
        previousIndex in interface java.util.ListIterator
      • remove

        public void remove()
        Not supported.
        Specified by:
        remove in interface java.util.Iterator
        Specified by:
        remove in interface java.util.ListIterator
      • set

        public void set​(java.lang.Object o)
        Not supported.
        Specified by:
        set in interface java.util.ListIterator
      • getListIterator

        public java.util.ListIterator getListIterator()
        Gets the iterator this iterator is using.
        Returns:
        the iterator.
      • setListIterator

        public void setListIterator​(java.util.ListIterator iterator)
        Sets the iterator for this iterator to use. If iteration has started, this effectively resets the iterator.
        Parameters:
        iterator - the iterator to use
      • getPredicate

        public Predicate getPredicate()
        Gets the predicate this iterator is using.
        Returns:
        the predicate.
      • setPredicate

        public void setPredicate​(Predicate predicate)
        Sets the predicate this the iterator to use.
        Parameters:
        predicate - the transformer to use
      • clearNextObject

        private void clearNextObject()
      • setNextObject

        private boolean setNextObject()
      • clearPreviousObject

        private void clearPreviousObject()
      • setPreviousObject

        private boolean setPreviousObject()