org.apache.lucene.spatial.prefix.tree

## Class SpatialPrefixTreeFactory

- java.lang.Object
- - org.apache.lucene.spatial.prefix.tree.SpatialPrefixTreeFactory

Direct Known Subclasses:
  GeohashPrefixTree.Factory, QuadPrefixTree.Factory

    public abstract class SpatialPrefixTreeFactory
    extends Object

Abstract Factory for creating `SpatialPrefixTree` instances with useful defaults and passed on configurations defined in a Map.

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

### Field Summary

Fields
`protected Map<String,String>` `args`
`protected com.spatial4j.core.context.SpatialContext` `ctx`
`static String` `MAX_DIST_ERR`
`static String` `MAX_LEVELS`
`protected Integer` `maxLevels`
`static String` `PREFIX_TREE`

### Constructor Summary

Constructors
Constructor and Description
`SpatialPrefixTreeFactory()`

### Method Summary

Methods
`protected abstract int` `getLevelForDistance(double degrees)` Calls `SpatialPrefixTree.getLevelForDistance(double)`.
`protected void` `init(Map<String,String> args, com.spatial4j.core.context.SpatialContext ctx)`
`protected void` `initMaxLevels()`
`static SpatialPrefixTree` `makeSPT(Map<String,String> args, ClassLoader classLoader, com.spatial4j.core.context.SpatialContext ctx)` The factory is looked up via "prefixTree" in args, expecting "geohash" or "quad".
`protected abstract SpatialPrefixTree` `newSPT()`

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

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

### Field Detail

#### PREFIX_TREE

    public static final String PREFIX_TREE

See Also:
  Constant Field Values

#### MAX_LEVELS

    public static final String MAX_LEVELS

See Also:
  Constant Field Values

#### MAX_DIST_ERR

    public static final String MAX_DIST_ERR

See Also:
  Constant Field Values

#### args

    protected Map<String,String> args

#### ctx

    protected com.spatial4j.core.context.SpatialContext ctx

#### maxLevels

    protected Integer maxLevels

### Constructor Detail

#### SpatialPrefixTreeFactory

    public SpatialPrefixTreeFactory()

### Method Detail

#### makeSPT

    public static SpatialPrefixTree makeSPT(Map<String,String> args,
                            ClassLoader classLoader,
                            com.spatial4j.core.context.SpatialContext ctx)

The factory is looked up via "prefixTree" in args, expecting "geohash" or "quad". If its neither of these, then "geohash" is chosen for a geo context, otherwise "quad" is chosen.

#### init

    protected void init(Map<String,String> args,
            com.spatial4j.core.context.SpatialContext ctx)

#### initMaxLevels

    protected void initMaxLevels()

#### getLevelForDistance

    protected abstract int getLevelForDistance(double degrees)

Calls `SpatialPrefixTree.getLevelForDistance(double)`.

#### newSPT

    protected abstract SpatialPrefixTree newSPT()