## 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
`IndexType()`

Method Summary
`static IndexType` `createNonUnique(boolean persistent)` Create a non-unique index.
`static IndexType` `createNonUnique(boolean persistent, boolean hash)` 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` `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` `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)

  Create a non-unique index.

  Parameters:
    `persistent` - if the index is persistent
    `hash` - if a hash index should be used
  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

### 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

### 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