## org.apache.lucene.store.instantiated
Class InstantiatedTermPositions

    java.lang.Object
      org.apache.lucene.store.instantiated.InstantiatedTermDocs
          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 <currentTermPositionIndex>target</currentTermPositionIndex>.

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 <currentTermPositionIndex>target</currentTermPositionIndex>.

  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`