org.apache.lucene.spatial.prefix

## Class AbstractVisitingPrefixTreeFilter

- java.lang.Object
- - org.apache.lucene.search.Filter
  - - org.apache.lucene.spatial.prefix.AbstractPrefixTreeFilter
    - - org.apache.lucene.spatial.prefix.AbstractVisitingPrefixTreeFilter

Direct Known Subclasses:
  IntersectsPrefixTreeFilter

    public abstract class AbstractVisitingPrefixTreeFilter
    extends AbstractPrefixTreeFilter

Traverses a `SpatialPrefixTree` indexed field, using the template & visitor design patterns for subclasses to guide the traversal and collect matching documents.

Subclasses implement `Filter.getDocIdSet(org.apache.lucene.index.AtomicReaderContext, org.apache.lucene.util.Bits)` by instantiating a custom `AbstractVisitingPrefixTreeFilter.VisitorTemplate` subclass (i.e. an anonymous inner class) and implement the required methods.

NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

### Nested Class Summary

Nested Classes
`class` `AbstractVisitingPrefixTreeFilter.VisitorTemplate` An abstract class designed to make it easy to implement predicates or other operations on a `SpatialPrefixTree` indexed field.
`protected static class` `AbstractVisitingPrefixTreeFilter.VNode` A Visitor Node/Cell found via the query shape for `AbstractVisitingPrefixTreeFilter.VisitorTemplate`.

### Nested classes/interfaces inherited from class org.apache.lucene.spatial.prefix.AbstractPrefixTreeFilter

`AbstractPrefixTreeFilter.BaseTermsEnumTraverser`

### Field Summary

Fields
`protected int` `prefixGridScanLevel`

### Fields inherited from class org.apache.lucene.spatial.prefix.AbstractPrefixTreeFilter

`detailLevel, fieldName, grid, queryShape`

### Constructor Summary

Constructors
Constructor and Description
`AbstractVisitingPrefixTreeFilter(com.spatial4j.core.shape.Shape queryShape, String fieldName, SpatialPrefixTree grid, int detailLevel, int prefixGridScanLevel)`

### Method Summary

Methods
`boolean` `equals(Object o)`
`int` `hashCode()`

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

`getDocIdSet`

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

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

### Field Detail

#### prefixGridScanLevel

    protected final int prefixGridScanLevel

### Constructor Detail

#### AbstractVisitingPrefixTreeFilter

    public AbstractVisitingPrefixTreeFilter(com.spatial4j.core.shape.Shape queryShape,
                                    String fieldName,
                                    SpatialPrefixTree grid,
                                    int detailLevel,
                                    int prefixGridScanLevel)

### Method Detail

#### equals

    public boolean equals(Object o)

Overrides:
  `equals` in class `AbstractPrefixTreeFilter`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `AbstractPrefixTreeFilter`