org.apache.lucene.index
Class AbstractAllTermDocs

java.lang.Object
  extended by org.apache.lucene.index.AbstractAllTermDocs
All Implemented Interfaces:
Closeable, TermDocs

public abstract class AbstractAllTermDocs
extends Object
implements TermDocs

Base class for enumerating all but deleted docs.

NOTE: this class is meant only to be used internally by Lucene; it's only public so it can be shared across packages. This means the API is freely subject to change, and, the class could be removed entirely, in any Lucene release. Use directly at your own risk!


Field Summary
protected  int doc
           
protected  int maxDoc
           
 
Constructor Summary
protected AbstractAllTermDocs(int maxDoc)
           
 
Method Summary
 void close()
          Frees associated resources.
 int doc()
          Returns the current document number.
 int freq()
          Returns the frequency of the term within the current document.
abstract  boolean isDeleted(int doc)
           
 boolean next()
          Moves to the next pair in the enumeration.
 int read(int[] docs, int[] freqs)
          Attempts to read multiple entries from the enumeration, up to length of docs.
 void seek(Term term)
          Sets this to the data for a term.
 void seek(TermEnum termEnum)
          Sets this to the data for the current term in a TermEnum.
 boolean skipTo(int target)
          Skips entries to the first beyond the current whose document number is greater than or equal to target.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

maxDoc

protected int maxDoc

doc

protected int doc
Constructor Detail

AbstractAllTermDocs

protected AbstractAllTermDocs(int maxDoc)
Method Detail

seek

public void seek(Term term)
          throws IOException
Description copied from interface: TermDocs
Sets this to the data for a term. The enumeration is reset to the start of the data for this term.

Specified by:
seek in interface TermDocs
Throws:
IOException

seek

public void seek(TermEnum termEnum)
          throws IOException
Description copied from interface: TermDocs
Sets this to the data for the current term in a TermEnum. This may be optimized in some implementations.

Specified by:
seek in interface TermDocs
Throws:
IOException

doc

public int doc()
Description copied from interface: TermDocs
Returns the current document number.

This is invalid until TermDocs.next() is called for the first time.

Specified by:
doc in interface TermDocs

freq

public int freq()
Description copied from interface: TermDocs
Returns the frequency of the term within the current document.

This is invalid until TermDocs.next() is called for the first time.

Specified by:
freq in interface TermDocs

next

public boolean next()
             throws IOException
Description copied from interface: TermDocs
Moves to the next pair in the enumeration.

Returns true iff there is such a next pair in the enumeration.

Specified by:
next in interface TermDocs
Throws:
IOException

read

public int read(int[] docs,
                int[] freqs)
         throws IOException
Description copied from interface: TermDocs
Attempts to read multiple entries from the enumeration, up to length of docs. Document numbers are stored in docs, and term frequencies are stored in freqs. The freqs array must be as long as the docs array.

Returns the number of entries read. Zero is only returned when the stream has been exhausted.

Specified by:
read in interface TermDocs
Throws:
IOException

skipTo

public boolean skipTo(int target)
               throws IOException
Description copied from interface: TermDocs
Skips entries to the first beyond the current whose document number is greater than or equal to target.

Returns true iff there is such an entry.

Behaves as if written:

   boolean skipTo(int target) {
     do {
       if (!next())
             return false;
     } while (target > doc());
     return true;
   }
 
Some implementations are considerably more efficient than that.

Specified by:
skipTo in interface TermDocs
Throws:
IOException

close

public void close()
           throws IOException
Description copied from interface: TermDocs
Frees associated resources.

Specified by:
close in interface Closeable
Specified by:
close in interface TermDocs
Throws:
IOException

isDeleted

public abstract boolean isDeleted(int doc)