org.h2.index

## Class IndexType

- java.lang.Object
- - org.h2.index.IndexType

    public class IndexType
    extends java.lang.Object

Represents information about the properties of an index

### Constructor Summary

Constructors
Constructor and Description
`IndexType()`

### Method Summary

Methods
`static IndexType` `createAffinity()` Create an affinity index.
`static IndexType` `createNonUnique(boolean persistent)` Create a non-unique index.
`static IndexType` `createNonUnique(boolean persistent, boolean hash, boolean spatial)` Create a non-unique index.
`static IndexType` `createPrimaryKey(boolean persistent, boolean hash)` Create a primary key index.
`static IndexType` `createScan(boolean persistent)` Create a scan pseudo-index.
`static IndexType` `createUnique(boolean persistent, boolean hash)` Create a unique index.
`boolean` `getBelongsToConstraint()` If the index is created because of a constraint.
`java.lang.String` `getSQL()` Get the SQL snippet to create such an index.
`boolean` `isAffinity()` Does this index represent an affinity key?
`boolean` `isHash()` Is this a hash index?
`boolean` `isPersistent()` Is this index persistent?
`boolean` `isPrimaryKey()` Does this index belong to a primary key constraint?
`boolean` `isScan()` Is this a table scan pseudo-index?
`boolean` `isSpatial()` Is this a spatial index?
`boolean` `isUnique()` Is this a unique index?
`void` `setBelongsToConstraint(boolean belongsToConstraint)` Sets if this index belongs to a constraint.

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

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

### Constructor Detail

#### IndexType

    public IndexType()

### Method Detail

#### createPrimaryKey

    public static IndexType createPrimaryKey(boolean persistent,
                             boolean hash)

Create a primary key index.

Parameters:
  `persistent` - if the index is persistent
  `hash` - if a hash index should be used
Returns:
  the index type

#### createUnique

    public static IndexType createUnique(boolean persistent,
                         boolean hash)

Create a unique index.

Parameters:
  `persistent` - if the index is persistent
  `hash` - if a hash index should be used
Returns:
  the index type

#### createNonUnique

    public static IndexType createNonUnique(boolean persistent)

Create a non-unique index.

Parameters:
  `persistent` - if the index is persistent
Returns:
  the index type

#### createNonUnique

    public static IndexType createNonUnique(boolean persistent,
                            boolean hash,
                            boolean spatial)

Create a non-unique index.

Parameters:
  `persistent` - if the index is persistent
  `hash` - if a hash index should be used
  `spatial` - if a spatial index should be used
Returns:
  the index type

#### createAffinity

    public static IndexType createAffinity()

Create an affinity index.

Returns:
  the index type

#### createScan

    public static IndexType createScan(boolean persistent)

Create a scan pseudo-index.

Parameters:
  `persistent` - if the index is persistent
Returns:
  the index type

#### setBelongsToConstraint

    public void setBelongsToConstraint(boolean belongsToConstraint)

Sets if this index belongs to a constraint.

Parameters:
  `belongsToConstraint` - if the index belongs to a constraint

#### getBelongsToConstraint

    public boolean getBelongsToConstraint()

If the index is created because of a constraint. Such indexes are to be dropped once the constraint is dropped.

Returns:
  if the index belongs to a constraint

#### isHash

    public boolean isHash()

Is this a hash index?

Returns:
  true if it is a hash index

#### isSpatial

    public boolean isSpatial()

Is this a spatial index?

Returns:
  true if it is a spatial index

#### isPersistent

    public boolean isPersistent()

Is this index persistent?

Returns:
  true if it is persistent

#### isPrimaryKey

    public boolean isPrimaryKey()

Does this index belong to a primary key constraint?

Returns:
  true if it references a primary key constraint

#### isUnique

    public boolean isUnique()

Is this a unique index?

Returns:
  true if it is

#### isAffinity

    public boolean isAffinity()

Does this index represent an affinity key?

Returns:
  true if it does

#### getSQL

    public java.lang.String getSQL()

Get the SQL snippet to create such an index.

Returns:
  the SQL snippet

#### isScan

    public boolean isScan()

Is this a table scan pseudo-index?

Returns:
  true if it is