org.apache.lucene.spatial.query

## Class SpatialArgsParser

- java.lang.Object
- - org.apache.lucene.spatial.query.SpatialArgsParser

    public class SpatialArgsParser
    extends Object

Parses a string that usually looks like "OPERATION(SHAPE)" into a `SpatialArgs` object. The set of operations supported are defined in `SpatialOperation`, such as "Intersects" being a common one. The shape portion is defined by `ShapeReadWriter.readShape(String)`. There are some optional name-value pair parameters that follow the closing parenthesis. Example:

       Intersects(-10,20,-8,22) distErrPct=0.025

In the future it would be good to support something at least semi-standardized like a variant of [E]CQL.

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

### Field Summary

Fields
`static String` `DIST_ERR`
`static String` `DIST_ERR_PCT`

### Constructor Summary

Constructors
Constructor and Description
`SpatialArgsParser()`

### Method Summary

Methods
`SpatialArgs` `parse(String v, com.spatial4j.core.context.SpatialContext ctx)` Parses a string such as "Intersects(-10,20,-8,22) distErrPct=0.025".
`protected static Map<String,String>` `parseMap(String body)` Parses "a=b c=d f" (whitespace separated) into name-value pairs.
`protected static boolean` `readBool(String v, boolean defaultValue)`
`protected static Double` `readDouble(String v)`

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

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

### Field Detail

#### DIST_ERR_PCT

    public static final String DIST_ERR_PCT

See Also:
  Constant Field Values

#### DIST_ERR

    public static final String DIST_ERR

See Also:
  Constant Field Values

### Constructor Detail

#### SpatialArgsParser

    public SpatialArgsParser()

### Method Detail

#### parse

    public SpatialArgs parse(String v,
                    com.spatial4j.core.context.SpatialContext ctx)
                      throws IllegalArgumentException,
                             com.spatial4j.core.exception.InvalidShapeException

Parses a string such as "Intersects(-10,20,-8,22) distErrPct=0.025".

Parameters:
  `v` - The string to parse. Mandatory.
  `ctx` - The spatial context. Mandatory.
Returns:
  Not null.
Throws:
  `IllegalArgumentException` - If there is a problem parsing the string.
  `com.spatial4j.core.exception.InvalidShapeException` - Thrown from `ShapeReadWriter.readShape(String)`

#### readDouble

    protected static Double readDouble(String v)

#### readBool

    protected static boolean readBool(String v,
                   boolean defaultValue)

#### parseMap

    protected static Map<String,String> parseMap(String body)

Parses "a=b c=d f" (whitespace separated) into name-value pairs. If there is no '=' as in 'f' above then it's short for f=f.