com.hp.hpl.jena.util.iterator
Class UniqueExtendedIterator

java.lang.Object
  extended by com.hp.hpl.jena.util.iterator.NiceIterator
      extended by com.hp.hpl.jena.util.iterator.WrappedIterator
          extended by com.hp.hpl.jena.util.iterator.UniqueExtendedIterator
All Implemented Interfaces:
ClosableIterator, ExtendedIterator, Iterator

public class UniqueExtendedIterator
extends WrappedIterator

A variant on the closable/extended iterator that filters out duplicate values. There is one complication that the value which filtering is done on might not be the actual value to be returned by the iterator.

Version:
$Revision: 1.11 $ on $Date: 2004/12/06 13:50:15 $
Author:
Dave Reynolds

Constructor Summary
UniqueExtendedIterator(Iterator underlying)
          Constructor.
 
Method Summary
static ExtendedIterator create(Iterator it)
          Factory method for generating an iterator that is guaranteed only to return one instance of every result from the wrapped iterator it.
 boolean hasNext()
          hasNext: defer to the base iterator
 Object next()
          next: defer to the base iterator
 
Methods inherited from class com.hp.hpl.jena.util.iterator.WrappedIterator
close, close, createNoRemove, remove
 
Methods inherited from class com.hp.hpl.jena.util.iterator.NiceIterator
andThen, andThen, filterDrop, filterKeep, mapWith, removeNext
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UniqueExtendedIterator

public UniqueExtendedIterator(Iterator underlying)
Constructor. Note the use of create(java.util.Iterator) as reliable means of creating a unique iterator without double-wrapping iterators that are already unique iterators.

Method Detail

create

public static ExtendedIterator create(Iterator it)
Factory method for generating an iterator that is guaranteed only to return one instance of every result from the wrapped iterator it.

Parameters:
it - An iterator to wrap
Returns:
A iterator that returns the elements of the wrapped iterator exactly once. If it is already a unique extended iteator, it is not further wrapped.

hasNext

public boolean hasNext()
Description copied from class: WrappedIterator
hasNext: defer to the base iterator

Specified by:
hasNext in interface Iterator
Overrides:
hasNext in class WrappedIterator
See Also:
Iterator.hasNext()

next

public Object next()
Description copied from class: WrappedIterator
next: defer to the base iterator

Specified by:
next in interface Iterator
Overrides:
next in class WrappedIterator
See Also:
Iterator.next()


Copyright © 2000, 2001, 2002, 2003, 2004 Hewlett-Packard Development Company, LP