org.apache.lucene.spatial.util

## Class ShapeFieldCacheProvider<T extends com.spatial4j.core.shape.Shape>

- java.lang.Object
- - org.apache.lucene.spatial.util.ShapeFieldCacheProvider<T>

Direct Known Subclasses:
  PointPrefixTreeFieldCacheProvider

    public abstract class ShapeFieldCacheProvider<T extends com.spatial4j.core.shape.Shape>
    extends Object

Provides access to a `ShapeFieldCache` for a given `AtomicReader`. If a Cache does not exist for the Reader, then it is built by iterating over the all terms for a given field, reconstructing the Shape from them, and adding them to the Cache.

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

### Field Summary

Fields
`protected int` `defaultSize`
`protected String` `shapeField`

### Constructor Summary

Constructors
Constructor and Description
`ShapeFieldCacheProvider(String shapeField, int defaultSize)`

### Method Summary

Methods
`ShapeFieldCache<T>` `getCache(AtomicReader reader)`
`protected abstract T` `readShape(BytesRef term)`

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

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

### Field Detail

#### defaultSize

    protected final int defaultSize

#### shapeField

    protected final String shapeField

### Constructor Detail

#### ShapeFieldCacheProvider

    public ShapeFieldCacheProvider(String shapeField,
                           int defaultSize)

### Method Detail

#### readShape

    protected abstract T readShape(BytesRef term)

#### getCache

    public ShapeFieldCache<T> getCache(AtomicReader reader)
                                                                       throws IOException

Throws:
  `IOException`