it.unimi.dsi.mg4j.search
Class AndDocumentIterator

java.lang.Object
  extended by it.unimi.dsi.fastutil.ints.AbstractIntIterator
      extended by it.unimi.dsi.mg4j.search.AbstractDocumentIterator
          extended by it.unimi.dsi.mg4j.search.AbstractCompositeDocumentIterator
              extended by it.unimi.dsi.mg4j.search.AbstractIntersectionDocumentIterator
                  extended by it.unimi.dsi.mg4j.search.AndDocumentIterator
All Implemented Interfaces:
IntIterator, DocumentIterator, Iterable<Interval>, Iterator<Integer>

public class AndDocumentIterator
extends AbstractIntersectionDocumentIterator

A document iterator that returns the AND of a number of document iterators.

This class adds to AbstractIntersectionDocumentIterator an interval interator generating the AND of the intervals returned for each of the documents involved.


Nested Class Summary
 
Nested classes/interfaces inherited from class it.unimi.dsi.mg4j.search.AbstractCompositeDocumentIterator
AbstractCompositeDocumentIterator.AbstractCompositeIndexIntervalIterator, AbstractCompositeDocumentIterator.AbstractCompositeIntervalIterator
 
Nested classes/interfaces inherited from class it.unimi.dsi.mg4j.search.AbstractDocumentIterator
AbstractDocumentIterator.AbstractIntervalIterator
 
Field Summary
 
Fields inherited from class it.unimi.dsi.mg4j.search.AbstractIntersectionDocumentIterator
currentIterators, intervalIterators, unmodifiableCurrentIterators
 
Fields inherited from class it.unimi.dsi.mg4j.search.AbstractCompositeDocumentIterator
documentIterator, indexIterator, indices, n, soleIndex
 
Fields inherited from class it.unimi.dsi.mg4j.search.AbstractDocumentIterator
last, next
 
Constructor Summary
protected AndDocumentIterator(DocumentIterator[] documentIterator)
           
 
Method Summary
protected  IntervalIterator getComposedIntervalIterator(Index index)
           
static DocumentIterator getInstance(DocumentIterator... documentIterator)
          Returns a document iterator that computes the AND of the given nonzero-length array of iterators.
static DocumentIterator getInstance(int numberOfDocuments, DocumentIterator... documentIterator)
          Returns a document iterator that computes the AND of the given array of iterators.
 
Methods inherited from class it.unimi.dsi.mg4j.search.AbstractIntersectionDocumentIterator
intervalIterator, intervalIterators, nextDocument, skipTo
 
Methods inherited from class it.unimi.dsi.mg4j.search.AbstractCompositeDocumentIterator
accept, acceptOnTruePaths, dispose, indices, intervalIterator, toString
 
Methods inherited from class it.unimi.dsi.mg4j.search.AbstractDocumentIterator
document, hasNext, iterator, nextInt
 
Methods inherited from class it.unimi.dsi.fastutil.ints.AbstractIntIterator
next, remove, skip
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface it.unimi.dsi.mg4j.search.DocumentIterator
document, iterator, nextInt
 
Methods inherited from interface it.unimi.dsi.fastutil.ints.IntIterator
skip
 
Methods inherited from interface java.util.Iterator
hasNext, next, remove
 

Constructor Detail

AndDocumentIterator

protected AndDocumentIterator(DocumentIterator[] documentIterator)
                       throws IOException
Throws:
IOException
Method Detail

getInstance

public static DocumentIterator getInstance(int numberOfDocuments,
                                           DocumentIterator... documentIterator)
                                    throws IOException
Returns a document iterator that computes the AND of the given array of iterators.

Note that the special case of the empty and of the singleton arrays are handled efficiently.

Parameters:
numberOfDocuments - the number of documents; relevant only if it has zero length.
documentIterator - the iterators to be joined.
Returns:
a document iterator that computes the AND of it.
Throws:
IOException

getInstance

public static DocumentIterator getInstance(DocumentIterator... documentIterator)
                                    throws IOException
Returns a document iterator that computes the AND of the given nonzero-length array of iterators.

Note that the special case of the singleton array is handled efficiently.

Parameters:
documentIterator - the iterators to be joined (at least one).
Returns:
a document iterator that computes the AND of it.
Throws:
IOException

getComposedIntervalIterator

protected IntervalIterator getComposedIntervalIterator(Index index)
Specified by:
getComposedIntervalIterator in class AbstractIntersectionDocumentIterator