org.apache.lucene.store.instantiated
Class InstantiatedTermPositions

java.lang.Object
  extended by org.apache.lucene.store.instantiated.InstantiatedTermDocs
      extended by org.apache.lucene.store.instantiated.InstantiatedTermPositions
All Implemented Interfaces:
Closeable, TermDocs, TermPositions

public class InstantiatedTermPositions
extends InstantiatedTermDocs
implements TermPositions

A TermPositions navigating an InstantiatedIndexReader.


Field Summary
 
Fields inherited from class org.apache.lucene.store.instantiated.InstantiatedTermDocs
currentDocumentInformation, currentTerm
 
Constructor Summary
InstantiatedTermPositions(InstantiatedIndexReader reader)
           
 
Method Summary
 byte[] getPayload(byte[] data, int offset)
          Returns the payload data at the current term position.
 int getPayloadLength()
          Returns the length of the payload at the current term position.
 boolean isPayloadAvailable()
          Checks if a payload can be loaded at this position.
 boolean next()
          Moves to the next pair in the enumeration.
 int nextPosition()
          Returns next position in the current document.
 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 org.apache.lucene.store.instantiated.InstantiatedTermDocs
close, doc, freq, read, seek, seek
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.lucene.index.TermDocs
close, doc, freq, read, seek, seek
 

Constructor Detail

InstantiatedTermPositions

public InstantiatedTermPositions(InstantiatedIndexReader reader)
Method Detail

getPayloadLength

public int getPayloadLength()
Description copied from interface: TermPositions
Returns the length of the payload at the current term position. This is invalid until TermPositions.nextPosition() is called for the first time.

Specified by:
getPayloadLength in interface TermPositions
Returns:
length of the current payload in number of bytes

getPayload

public byte[] getPayload(byte[] data,
                         int offset)
                  throws IOException
Description copied from interface: TermPositions
Returns the payload data at the current term position. This is invalid until TermPositions.nextPosition() is called for the first time. This method must not be called more than once after each call of TermPositions.nextPosition(). However, payloads are loaded lazily, so if the payload data for the current position is not needed, this method may not be called at all for performance reasons.

Specified by:
getPayload in interface TermPositions
Parameters:
data - the array into which the data of this payload is to be stored, if it is big enough; otherwise, a new byte[] array is allocated for this purpose.
offset - the offset in the array into which the data of this payload is to be stored.
Returns:
a byte[] array containing the data of this payload
Throws:
IOException

isPayloadAvailable

public boolean isPayloadAvailable()
Description copied from interface: TermPositions
Checks if a payload can be loaded at this position.

Payloads can only be loaded once per call to TermPositions.nextPosition().

Specified by:
isPayloadAvailable in interface TermPositions
Returns:
true if there is a payload available at this position that can be loaded

nextPosition

public int nextPosition()
Returns next position in the current document. It is an error to call this more than InstantiatedTermDocs.freq() times without calling next()

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

Specified by:
nextPosition in interface TermPositions

next

public boolean next()
Moves to the next pair in the enumeration.

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

Specified by:
next in interface TermDocs
Overrides:
next in class InstantiatedTermDocs

skipTo

public boolean skipTo(int target)
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
Overrides:
skipTo in class InstantiatedTermDocs