Class InstantiatedTermPositions
- java.lang.Object
-
- org.apache.lucene.store.instantiated.InstantiatedTermDocs
-
- org.apache.lucene.store.instantiated.InstantiatedTermPositions
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
,TermDocs
,TermPositions
public class InstantiatedTermPositions extends InstantiatedTermDocs implements TermPositions
ATermPositions
navigating anInstantiatedIndexReader
.
-
-
Field Summary
-
Fields inherited from class org.apache.lucene.store.instantiated.InstantiatedTermDocs
currentDocumentInformation, currentTerm
-
-
Constructor Summary
Constructors Constructor Description InstantiatedTermPositions(InstantiatedIndexReader reader)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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 totarget .-
Methods inherited from class org.apache.lucene.store.instantiated.InstantiatedTermDocs
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 untilTermPositions.nextPosition()
is called for the first time.- Specified by:
getPayloadLength
in interfaceTermPositions
- 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 untilTermPositions.nextPosition()
is called for the first time. This method must not be called more than once after each call ofTermPositions.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 interfaceTermPositions
- 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 interfaceTermPositions
- 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 thanInstantiatedTermDocs.freq()
times without callingnext()
This is invalid until
next()
is called for the first time.- Specified by:
nextPosition
in interfaceTermPositions
-
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 interfaceTermDocs
- Overrides:
next
in classInstantiatedTermDocs
-
skipTo
public boolean skipTo(int target)
Skips entries to the first beyond the current whose document number is greater than or equal totarget .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 interfaceTermDocs
- Overrides:
skipTo
in classInstantiatedTermDocs
-
-