Class FilterListIterator<E>

  • All Implemented Interfaces:
    java.util.Iterator<E>, java.util.ListIterator<E>

    public class FilterListIterator<E>
    extends java.lang.Object
    implements java.util.ListIterator<E>
    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:
    2.0
    • 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<? extends E> 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<? extends E> iterator,
                                  Predicate<? super E> predicate)
        Constructs a new FilterListIterator.
        Parameters:
        iterator - the iterator to use
        predicate - the predicate to use
      • FilterListIterator

        public FilterListIterator​(Predicate<? super E> 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​(E o)
        Not supported.
        Specified by:
        add in interface java.util.ListIterator<E>
        Parameters:
        o - the element to insert
      • hasNext

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

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

        public E next()
        Specified by:
        next in interface java.util.Iterator<E>
        Specified by:
        next in interface java.util.ListIterator<E>
      • nextIndex

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

        public E previous()
        Specified by:
        previous in interface java.util.ListIterator<E>
      • previousIndex

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

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

        public void set​(E o)
        Not supported.
        Specified by:
        set in interface java.util.ListIterator<E>
        Parameters:
        o - the element with which to replace the last element returned by next or previous
      • getListIterator

        public java.util.ListIterator<? extends E> getListIterator()
        Gets the iterator this iterator is using.
        Returns:
        the iterator.
      • setListIterator

        public void setListIterator​(java.util.ListIterator<? extends E> 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<? super E> getPredicate()
        Gets the predicate this iterator is using.
        Returns:
        the predicate.
      • setPredicate

        public void setPredicate​(Predicate<? super E> predicate)
        Sets the predicate this the iterator to use.
        Parameters:
        predicate - the transformer to use