org.apache.lucene.index

## Interface TermPositions

- All Superinterfaces:
    TermDocs
  All Known Implementing Classes:
    FilterIndexReader.FilterTermPositions, InstantiatedTermPositions, MultipleTermPositions

      public interface TermPositions
      extends TermDocs

  TermPositions provides an interface for enumerating the <document, frequency, <position>* > tuples for a term.

  The document and frequency are the same as for a TermDocs. The positions portion lists the ordinal positions of each occurrence of a term in a document.

  See Also:
    `IndexReader.termPositions()`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and 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.
    `int` | `nextPosition()` Returns next position in the current document.

    - ### Methods inherited from interface org.apache.lucene.index.TermDocs

      `close, doc, freq, next, read, seek, seek, skipTo`

- - ### Method Detail

    - #### nextPosition

          int nextPosition()
                    throws java.io.IOException

      Returns next position in the current document. It is an error to call this more than `TermDocs.freq()` times without calling `TermDocs.next()`

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

      Throws:
        `java.io.IOException`

    - #### getPayloadLength

          int getPayloadLength()

      Returns the length of the payload at the current term position. This is invalid until `nextPosition()` is called for the first time.
      Returns:
        length of the current payload in number of bytes

    - #### getPayload

          byte[] getPayload(byte[] data,
                            int offset)
                     throws java.io.IOException

      Returns the payload data at the current term position. This is invalid until `nextPosition()` is called for the first time. This method must not be called more than once after each call of `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.
      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:
        `java.io.IOException`

    - #### isPayloadAvailable

          boolean isPayloadAvailable()

      Checks if a payload can be loaded at this position.

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

      Returns:
        true if there is a payload available at this position that can be loaded

Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.