Package com.mckoi.database

## Class DataIndexSetDef

- java.lang.Object
- - com.mckoi.database.DataIndexSetDef

    public class DataIndexSetDef
    extends java.lang.Object

Represents the meta-data for a set of indexes of a table.

Author:
  Tobias Downer

### Constructor Summary

Constructors
`DataIndexSetDef​(DataIndexSetDef def)`
`DataIndexSetDef​(TableName table_name)` Constructor.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`void` `addDataIndexDef​(DataIndexDef def)` Adds a DataIndexDef to this table.
`int` `findIndexForColumns​(java.lang.String[] cols)` Finds the first index for the given column name list.
`int` `findIndexWithName​(java.lang.String index_name)` Finds the index with the given name and returns the index in the list of the index (confusing comment!).
`DataIndexDef` `indexAt​(int i)` Returns the DataIndexDef at the given index in this list.
`int` `indexCount()` Returns the total number of index in this table.
`DataIndexDef` `indexWithName​(java.lang.String index_name)` Returns the DataIndexDef with the given name or null if it couldn't be found.
`static DataIndexSetDef` `read​(java.io.DataInput din)` Reads the DataIndexSetDef object from the given DataInput.
`void` `removeDataIndexDef​(int i)` Removes a DataIndexDef to this table.
`java.lang.String` `resolveIndexName​(java.lang.String index_name, boolean ignore_case)` Attempts to resolve the given index name from the index in this table.
`void` `setImmutable()` Sets the immutable flag.
`void` `write​(java.io.DataOutput dout)` Writes this DataIndexSetDef object to the given DataOutput.

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

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

### Constructor Detail

#### DataIndexSetDef

    public DataIndexSetDef​(TableName table_name)

Constructor.

#### DataIndexSetDef

    public DataIndexSetDef​(DataIndexSetDef def)

### Method Detail

#### setImmutable

    public void setImmutable()

Sets the immutable flag.

#### addDataIndexDef

    public void addDataIndexDef​(DataIndexDef def)

Adds a DataIndexDef to this table.

#### removeDataIndexDef

    public void removeDataIndexDef​(int i)

Removes a DataIndexDef to this table.

#### indexCount

    public int indexCount()

Returns the total number of index in this table.

#### indexAt

    public DataIndexDef indexAt​(int i)

Returns the DataIndexDef at the given index in this list.

#### findIndexWithName

    public int findIndexWithName​(java.lang.String index_name)

Finds the index with the given name and returns the index in the list of the index (confusing comment!). Returns -1 if the name wasn't found.

#### findIndexForColumns

    public int findIndexForColumns​(java.lang.String[] cols)

Finds the first index for the given column name list. Returns -1 if an index over the given composite columns was not found.

#### indexWithName

    public DataIndexDef indexWithName​(java.lang.String index_name)

Returns the DataIndexDef with the given name or null if it couldn't be found.

#### resolveIndexName

    public java.lang.String resolveIndexName​(java.lang.String index_name,
                                             boolean ignore_case)
                                      throws DatabaseException

Attempts to resolve the given index name from the index in this table. If 'ignore_case' is true, then we return the correct case of the index name.

Throws:
  `DatabaseException`

#### write

    public void write​(java.io.DataOutput dout)
               throws java.io.IOException

Writes this DataIndexSetDef object to the given DataOutput.

Throws:
  `java.io.IOException`

#### read

    public static DataIndexSetDef read​(java.io.DataInput din)
                                throws java.io.IOException

Reads the DataIndexSetDef object from the given DataInput.

Throws:
  `java.io.IOException`