org.apache.lucene.index

## Class DocsAndPositionsEnum

- java.lang.Object
- - org.apache.lucene.search.DocIdSetIterator
  - - org.apache.lucene.index.DocsEnum
    - - org.apache.lucene.index.DocsAndPositionsEnum

Direct Known Subclasses:
  FilterAtomicReader.FilterDocsAndPositionsEnum, MappingMultiDocsAndPositionsEnum, MultiDocsAndPositionsEnum

    public abstract class DocsAndPositionsEnum
    extends DocsEnum

Also iterates through positions.

### Field Summary

Fields
`static int` `FLAG_OFFSETS` Flag to pass to `TermsEnum.docsAndPositions(Bits,DocsAndPositionsEnum,int)` if you require offsets in the returned enum.
`static int` `FLAG_PAYLOADS` Flag to pass to `TermsEnum.docsAndPositions(Bits,DocsAndPositionsEnum,int)` if you require payloads in the returned enum.

### Fields inherited from class org.apache.lucene.index.DocsEnum

`FLAG_FREQS, FLAG_NONE`

### Fields inherited from class org.apache.lucene.search.DocIdSetIterator

`NO_MORE_DOCS`

### Constructor Summary

Constructors
`protected` `DocsAndPositionsEnum()` Sole constructor.

### Method Summary

Methods
`abstract int` `endOffset()` Returns end offset for the current position, or -1 if offsets were not indexed.
`abstract BytesRef` `getPayload()` Returns the payload at this position, or null if no payload was indexed.
`abstract int` `nextPosition()` Returns the next position.
`abstract int` `startOffset()` Returns start offset for the current position, or -1 if offsets were not indexed.

### Methods inherited from class org.apache.lucene.index.DocsEnum

`attributes, freq`

### Methods inherited from class org.apache.lucene.search.DocIdSetIterator

`advance, docID, nextDoc`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### FLAG_OFFSETS

    public static final int FLAG_OFFSETS

Flag to pass to `TermsEnum.docsAndPositions(Bits,DocsAndPositionsEnum,int)` if you require offsets in the returned enum.

See Also:
  Constant Field Values

#### FLAG_PAYLOADS

    public static final int FLAG_PAYLOADS

Flag to pass to `TermsEnum.docsAndPositions(Bits,DocsAndPositionsEnum,int)` if you require payloads in the returned enum.

See Also:
  Constant Field Values

### Constructor Detail

#### DocsAndPositionsEnum

    protected DocsAndPositionsEnum()

Sole constructor. (For invocation by subclass constructors, typically implicit.)

### Method Detail

#### nextPosition

    public abstract int nextPosition()
                              throws IOException

Returns the next position. You should only call this up to `DocsEnum.freq()` times else the behavior is not defined. If positions were not indexed this will return -1; this only happens if offsets were indexed and you passed needsOffset=true when pulling the enum.

Throws:
  `IOException`

#### startOffset

    public abstract int startOffset()
                             throws IOException

Returns start offset for the current position, or -1 if offsets were not indexed.

Throws:
  `IOException`

#### endOffset

    public abstract int endOffset()
                           throws IOException

Returns end offset for the current position, or -1 if offsets were not indexed.

Throws:
  `IOException`

#### getPayload

    public abstract BytesRef getPayload()
                                 throws IOException

Returns the payload at this position, or null if no payload was indexed. You should not modify anything (neither members of the returned BytesRef nor bytes in the byte[]).

Throws:
  `IOException`