Package org.eclipse.net4j.db.ddl

# Interface IDBIndex

All Superinterfaces:
  `Comparable<IDBSchemaElement>`, `org.eclipse.net4j.util.container.IContainer<IDBSchemaElement>`, `IDBElement`, `IDBNamedElement`, `IDBSchemaElement`, `org.eclipse.net4j.util.event.INotifier`

All Known Subinterfaces:
  `InternalDBIndex`

public interface IDBIndex extends IDBSchemaElement
An index specification in a `DB table`.

Author:
  Eike Stepper
No Implement
  This interface is not intended to be implemented by clients.
No Extend
  This interface is not intended to be extended by clients.

## Nested Class Summary

Nested Classes
Modifier and Type
Interface
Description
`static enum`
`IDBIndex.Type`
The type of an `index` specification in a `DB table`.

## Nested classes/interfaces inherited from interface org.eclipse.net4j.util.container.IContainer

`org.eclipse.net4j.util.container.IContainer.Modifiable<E extends Object>, org.eclipse.net4j.util.container.IContainer.Persistable<E extends Object>, org.eclipse.net4j.util.container.IContainer.Persistence<E extends Object>`

## Nested classes/interfaces inherited from interface org.eclipse.net4j.db.ddl.IDBSchemaElement

`IDBSchemaElement.SchemaElementType`

## Nested classes/interfaces inherited from interface org.eclipse.net4j.util.event.INotifier

`org.eclipse.net4j.util.event.INotifier.INotifier2`

## Method Summary

Modifier and Type
Method
Description
`IDBIndexField`
`addIndexField(String name)`
`IDBIndexField`
`addIndexField(IDBField field)`
`IDBField`
`getField(int position)`
`IDBField`
`getField(String name)`
`int`
`getFieldCount()`
`IDBField[]`
`getFields()`
`IDBField`
`getFieldSafe(String name)`
`IDBIndexField`
`getIndexField(int position)`
`IDBIndexField`
`getIndexField(String name)`
`IDBIndexField[]`
`getIndexFields()`
`IDBIndexField`
`getIndexFieldSafe(String name)`
`IDBTable`
`getParent()`
`int`
`getPosition()`
Deprecated.
`IDBTable`
`getTable()`
`IDBIndex.Type`
`getType()`
`void`
`setType(IDBIndex.Type type)`

### Methods inherited from interface java.lang.Comparable

`compareTo`

### Methods inherited from interface org.eclipse.net4j.util.container.IContainer

`getElements, isEmpty`

### Methods inherited from interface org.eclipse.net4j.db.ddl.IDBElement

`getProperties`

### Methods inherited from interface org.eclipse.net4j.db.ddl.IDBNamedElement

`getName`

### Methods inherited from interface org.eclipse.net4j.db.ddl.IDBSchemaElement

`accept, getElement, getFullName, getSchema, getSchemaElementType, remove, setName`

### Methods inherited from interface org.eclipse.net4j.util.event.INotifier

`addListener, getListeners, hasListeners, removeListener`

## Method Details

### getParent

IDBTable getParent()

Specified by:
  `getParent` in interface `IDBElement`
Specified by:
  `getParent` in interface `IDBSchemaElement`
Since:
  4.2

### getTable

IDBTable getTable()

### getType

IDBIndex.Type getType()

### setType

void setType(IDBIndex.Type type)

Since:
  4.2

### getPosition

@Deprecated int getPosition()
Deprecated.

### addIndexField

IDBIndexField addIndexField(IDBField field)

Since:
  4.2

### addIndexField

IDBIndexField addIndexField(String name) throws SchemaElementNotFoundException

Throws:
  `SchemaElementNotFoundException`
Since:
  4.2

### getIndexFieldSafe

IDBIndexField getIndexFieldSafe(String name) throws SchemaElementNotFoundException

Throws:
  `SchemaElementNotFoundException`
Since:
  4.2

### getIndexField

IDBIndexField getIndexField(String name)

Since:
  4.2

### getIndexField

IDBIndexField getIndexField(int position)

Since:
  4.2

### getFieldSafe

IDBField getFieldSafe(String name) throws SchemaElementNotFoundException

Throws:
  `SchemaElementNotFoundException`
Since:
  4.2

### getField

IDBField getField(String name)

Since:
  4.2

### getField

IDBField getField(int position)

### getFieldCount

int getFieldCount()

### getIndexFields

IDBIndexField[] getIndexFields()

Since:
  4.2

### getFields

IDBField[] getFields()