Package org.eclipse.net4j.db.ddl

## Interface IDBIndex

- All Superinterfaces:
    `java.lang.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 class` | `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 java.lang.Object>, org.eclipse.net4j.util.container.IContainer.Persistable<E extends java.lang.Object>, org.eclipse.net4j.util.container.IContainer.Persistence<E extends java.lang.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

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `IDBIndexField` | `addIndexField​(java.lang.String name)` |
    `IDBIndexField` | `addIndexField​(IDBField field)` |
    `IDBField` | `getField​(int position)` |
    `IDBField` | `getField​(java.lang.String name)` |
    `int` | `getFieldCount()` |
    `IDBField[]` | `getFields()` |
    `IDBField` | `getFieldSafe​(java.lang.String name)` |
    `IDBIndexField` | `getIndexField​(int position)` |
    `IDBIndexField` | `getIndexField​(java.lang.String name)` |
    `IDBIndexField[]` | `getIndexFields()` |
    `IDBIndexField` | `getIndexFieldSafe​(java.lang.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 Detail

    - #### getParent

          IDBTable getParent()

      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​(java.lang.String name)
                               throws SchemaElementNotFoundException

      Throws:
        `SchemaElementNotFoundException`
      Since:
        4.2

    - #### getIndexFieldSafe

          IDBIndexField getIndexFieldSafe​(java.lang.String name)
                                   throws SchemaElementNotFoundException

      Throws:
        `SchemaElementNotFoundException`
      Since:
        4.2

    - #### getIndexField

          IDBIndexField getIndexField​(java.lang.String name)

      Since:
        4.2

    - #### getIndexField

          IDBIndexField getIndexField​(int position)

      Since:
        4.2

    - #### getFieldSafe

          IDBField getFieldSafe​(java.lang.String name)
                         throws SchemaElementNotFoundException

      Throws:
        `SchemaElementNotFoundException`
      Since:
        4.2

    - #### getField

          IDBField getField​(java.lang.String name)

      Since:
        4.2

    - #### getField

          IDBField getField​(int position)

    - #### getFieldCount

          int getFieldCount()

    - #### getIndexFields

          IDBIndexField[] getIndexFields()

      Since:
        4.2

    - #### getFields

          IDBField[] getFields()