org.apache.lucene.index

## Interface PointValues.IntersectVisitor

All Known Implementing Classes:
  CheckIndex.VerifyPointsVisitor

Enclosing class:
  PointValues

    public static interface PointValues.IntersectVisitor

We recurse the BKD tree, using a provided instance of this to guide the recursion.

WARNING: This API is experimental and might change in incompatible ways in the next release.

### Method Summary

All Methods Instance Methods Abstract Methods Default Methods
`PointValues.Relation` `compare(byte[] minPackedValue, byte[] maxPackedValue)` Called for non-leaf cells to test how the cell relates to the query, to determine how to further recurse down the tree.
`default void` `grow(int count)` Notifies the caller that this many documents are about to be visited
`default void` `visit(DocIdSetIterator iterator, byte[] packedValue)` Similar to `visit(int, byte[])` but in this case the packedValue can have more than one docID associated to it.
`void` `visit(int docID)` Called for all documents in a leaf cell that's fully contained by the query.
`void` `visit(int docID, byte[] packedValue)` Called for all documents in a leaf cell that crosses the query.

### Method Detail

#### visit

    void visit(int docID)
        throws IOException

Called for all documents in a leaf cell that's fully contained by the query. The consumer should blindly accept the docID.

Throws:
  `IOException`

#### visit

    void visit(int docID,
               byte[] packedValue)
        throws IOException

Called for all documents in a leaf cell that crosses the query. The consumer should scrutinize the packedValue to decide whether to accept it. In the 1D case, values are visited in increasing order, and in the case of ties, in increasing docID order.

Throws:
  `IOException`

#### visit

    default void visit(DocIdSetIterator iterator,
                       byte[] packedValue)
                throws IOException

Similar to `visit(int, byte[])` but in this case the packedValue can have more than one docID associated to it. The provided iterator should not escape the scope of this method so that implementations of PointValues are free to reuse it,

Throws:
  `IOException`

#### compare

    PointValues.Relation compare(byte[] minPackedValue,
                                 byte[] maxPackedValue)

Called for non-leaf cells to test how the cell relates to the query, to determine how to further recurse down the tree.

#### grow

    default void grow(int count)

Notifies the caller that this many documents are about to be visited