org.h2.mvstore.db

## Class SpatialKey

- java.lang.Object
- - org.h2.value.VersionedValue<Value>
  - - org.h2.value.Value
    - - org.h2.mvstore.db.SpatialKey

All Implemented Interfaces:
  Spatial, HasSQL, Typed

    public class SpatialKey
    extends Value
    implements Spatial

A unique spatial key.

### Field Summary

### Fields inherited from class org.h2.value.Value

`ARRAY, BIGINT, BINARY, BLOB, BOOLEAN, CHAR, CLOB, DATE, DECFLOAT, DOUBLE, EMPTY_VALUES, ENUM, GEOMETRY, INTEGER, INTERVAL_DAY, INTERVAL_DAY_TO_HOUR, INTERVAL_DAY_TO_MINUTE, INTERVAL_DAY_TO_SECOND, INTERVAL_HOUR, INTERVAL_HOUR_TO_MINUTE, INTERVAL_HOUR_TO_SECOND, INTERVAL_MINUTE, INTERVAL_MINUTE_TO_SECOND, INTERVAL_MONTH, INTERVAL_SECOND, INTERVAL_YEAR, INTERVAL_YEAR_TO_MONTH, JAVA_OBJECT, JSON, MIN_LONG_DECIMAL, NULL, NUMERIC, REAL, ROW, SMALLINT, TIME, TIME_TZ, TIMESTAMP, TIMESTAMP_TZ, TINYINT, TYPE_COUNT, UNKNOWN, UUID, VARBINARY, VARCHAR, VARCHAR_IGNORECASE`

### Fields inherited from interface org.h2.util.HasSQL

`ADD_PLAN_INFORMATION, DEFAULT_SQL_FLAGS, NO_CASTS, QUOTE_ONLY_WHEN_REQUIRED, REPLACE_LOBS_FOR_TRACE, TRACE_SQL_FLAGS`

### Constructor Summary

Constructors
Constructor and Description
`SpatialKey(long id, float... minMax)` Create a new key.
`SpatialKey(long id, SpatialKey other)`

### Method Summary

All Methods Instance Methods Concrete Methods
`Spatial` `clone(long id)` Creates a copy of this Spatial object with different id.
`int` `compareTypeSafe(Value v, CompareMode mode, CastDataProvider provider)` Compare this value against another value given that the values are of the same data type.
`boolean` `equals(java.lang.Object other)` Check if the two values have the same hash code.
`boolean` `equalsIgnoringId(Spatial o)` Check whether two objects are equals, but do not compare the id fields.
`long` `getId()` Get id of this Spatial object
`java.lang.StringBuilder` `getSQL(java.lang.StringBuilder builder, int sqlFlags)` Appends the SQL statement of this object to the specified builder.
`java.lang.String` `getString()` Get the value as a string.
`TypeInfo` `getType()` Returns the data type.
`int` `getValueType()` Get the value type.
`int` `hashCode()`
`boolean` `isNull()` Test whether this object has no value
`float` `max(int dim)` Get the maximum value for the given dimension.
`float` `min(int dim)` Get the minimum value for the given dimension.
`void` `setMax(int dim, float x)` Set the maximum value for the given dimension.
`void` `setMin(int dim, float x)` Set the minimum value for the given dimension.
`java.lang.String` `toString()`

### Methods inherited from class org.h2.value.Value

`add, castTo, charLength, clearCache, compareTo, compareWithNull, containsNull, convertForAssignTo, convertTo, convertTo, convertTo, convertTo, convertTo, convertToAnyArray, convertToAnyJson, convertToAnyRow, convertToBigint, convertToBoolean, convertToChar, convertToDate, convertToDouble, convertToEnum, convertToGeometry, convertToInt, convertToInt, convertToJavaObject, convertToReal, convertToSmallint, convertToTinyint, convertToUuid, divide, getBigDecimal, getBoolean, getByte, getBytes, getBytesNoCopy, getDouble, getFloat, getHigherOrder, getInputStream, getInputStream, getInt, getLong, getMemory, getReader, getReader, getShort, getSignum, getTypeName, getUnsupportedExceptionForOperation, getValueWithFirstNull, isFalse, isTrue, modulus, multiply, negate, octetLength, subtract`

### Methods inherited from class org.h2.value.VersionedValue

`getCommittedValue, getCurrentValue, getOperationId, isCommitted`

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

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

### Methods inherited from interface org.h2.util.HasSQL

`getSQL, getTraceSQL`

### Constructor Detail

#### SpatialKey

    public SpatialKey(long id,
                      float... minMax)

Create a new key.

Parameters:
  `id` - the id
  `minMax` - min x, max x, min y, max y, and so on

#### SpatialKey

    public SpatialKey(long id,
                      SpatialKey other)

### Method Detail

#### min

    public float min(int dim)

Description copied from interface: `Spatial`
Get the minimum value for the given dimension.

Specified by:
  `min` in interface `Spatial`
Parameters:
  `dim` - the dimension
Returns:
  the value

#### setMin

    public void setMin(int dim,
                       float x)

Description copied from interface: `Spatial`
Set the minimum value for the given dimension.

Specified by:
  `setMin` in interface `Spatial`
Parameters:
  `dim` - the dimension
  `x` - the value

#### max

    public float max(int dim)

Description copied from interface: `Spatial`
Get the maximum value for the given dimension.

Specified by:
  `max` in interface `Spatial`
Parameters:
  `dim` - the dimension
Returns:
  the value

#### setMax

    public void setMax(int dim,
                       float x)

Description copied from interface: `Spatial`
Set the maximum value for the given dimension.

Specified by:
  `setMax` in interface `Spatial`
Parameters:
  `dim` - the dimension
  `x` - the value

#### clone

    public Spatial clone(long id)

Description copied from interface: `Spatial`
Creates a copy of this Spatial object with different id.

Specified by:
  `clone` in interface `Spatial`
Parameters:
  `id` - for the new Spatial object
Returns:
  a clone

#### getId

    public long getId()

Description copied from interface: `Spatial`
Get id of this Spatial object

Specified by:
  `getId` in interface `Spatial`
Returns:
  id

#### isNull

    public boolean isNull()

Description copied from interface: `Spatial`
Test whether this object has no value

Specified by:
  `isNull` in interface `Spatial`
Returns:
  true if it is NULL, false otherwise

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `Value`

#### hashCode

    public int hashCode()

Specified by:
  `hashCode` in class `Value`

#### equals

    public boolean equals(java.lang.Object other)

Description copied from class: `Value`
Check if the two values have the same hash code. No data conversion is made; this method returns false if the other object is not of the same class. For some values, compareTo may return 0 even if equals return false. Example: ValueDecimal 0.0 and 0.00.

Specified by:
  `equals` in class `Value`
Parameters:
  `other` - the other value
Returns:
  true if they are equal

#### compareTypeSafe

    public int compareTypeSafe(Value v,
                               CompareMode mode,
                               CastDataProvider provider)

Description copied from class: `Value`
Compare this value against another value given that the values are of the same data type.

Specified by:
  `compareTypeSafe` in class `Value`
Parameters:
  `v` - the other value
  `mode` - the compare mode
  `provider` - the cast information provider
Returns:
  0 if both values are equal, -1 if the other value is smaller, and 1 otherwise

#### equalsIgnoringId

    public boolean equalsIgnoringId(Spatial o)

Check whether two objects are equals, but do not compare the id fields.

Specified by:
  `equalsIgnoringId` in interface `Spatial`
Parameters:
  `o` - the other key
Returns:
  true if the contents are the same

#### getSQL

    public java.lang.StringBuilder getSQL(java.lang.StringBuilder builder,
                                          int sqlFlags)

Description copied from interface: `HasSQL`
Appends the SQL statement of this object to the specified builder.

Specified by:
  `getSQL` in interface `HasSQL`
Parameters:
  `builder` - string builder
  `sqlFlags` - formatting flags
Returns:
  the specified string builder

#### getType

    public TypeInfo getType()

Description copied from interface: `Typed`
Returns the data type.

Specified by:
  `getType` in interface `Typed`
Specified by:
  `getType` in class `Value`
Returns:
  the data type

#### getValueType

    public int getValueType()

Description copied from class: `Value`
Get the value type.

Specified by:
  `getValueType` in class `Value`
Returns:
  the value type

#### getString

    public java.lang.String getString()

Description copied from class: `Value`
Get the value as a string.

Specified by:
  `getString` in class `Value`
Returns:
  the string