Package org.eclipse.net4j.db.ddl

## Interface IDBTable

- 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:
    `InternalDBTable`

      public interface IDBTable
      extends IDBSchemaElement

  A table specification in a `DB schema`.
  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/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
    Modifier and Type | Method | Description
    --- | --- | ---
    `IDBField` | `addField​(java.lang.String name, DBType type)` |
    `IDBField` | `addField​(java.lang.String name, DBType type, boolean notNull)` |
    `IDBField` | `addField​(java.lang.String name, DBType type, int precision)` |
    `IDBField` | `addField​(java.lang.String name, DBType type, int precision, boolean notNull)` |
    `IDBField` | `addField​(java.lang.String name, DBType type, int precision, int scale)` |
    `IDBField` | `addField​(java.lang.String name, DBType type, int precision, int scale, boolean notNull)` |
    `IDBIndex` | `addIndex​(java.lang.String name, IDBIndex.Type type, java.lang.String... fieldNames)` |
    `IDBIndex` | `addIndex​(java.lang.String name, IDBIndex.Type type, IDBField... fields)` |
    `IDBIndex` | `addIndex​(IDBIndex.Type type, java.lang.String... fieldNames)` |
    `IDBIndex` | `addIndex​(IDBIndex.Type type, IDBField... fields)` |
    `IDBIndex` | `addIndexEmpty​(java.lang.String name, IDBIndex.Type type)` |
    `IDBIndex` | `addIndexEmpty​(IDBIndex.Type type)` |
    `IDBField` | `getField​(int position)` |
    `IDBField` | `getField​(java.lang.String name)` |
    `int` | `getFieldCount()` |
    `IDBField[]` | `getFields()` |
    `IDBField[]` | `getFields​(java.lang.String... fieldNames)` |
    `IDBField` | `getFieldSafe​(java.lang.String name)` |
    `IDBIndex` | `getIndex​(int position)` |
    `IDBIndex` | `getIndex​(java.lang.String name)` |
    `int` | `getIndexCount()` |
    `IDBIndex` | `getIndexSafe​(java.lang.String name)` |
    `IDBIndex[]` | `getIndices()` |
    `IDBSchema` | `getParent()` |
    `IDBIndex` | `getPrimaryKeyIndex()` |
    `boolean` | `hasIndexFor​(IDBField... fields)` |
    `java.lang.String` | `sqlInsert()` |

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

          IDBSchema getParent()

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

    - #### addField

          IDBField addField​(java.lang.String name,
                            DBType type)

    - #### addField

          IDBField addField​(java.lang.String name,
                            DBType type,
                            boolean notNull)

    - #### addField

          IDBField addField​(java.lang.String name,
                            DBType type,
                            int precision)

    - #### addField

          IDBField addField​(java.lang.String name,
                            DBType type,
                            int precision,
                            boolean notNull)

    - #### addField

          IDBField addField​(java.lang.String name,
                            DBType type,
                            int precision,
                            int scale)

    - #### addField

          IDBField addField​(java.lang.String name,
                            DBType type,
                            int precision,
                            int scale,
                            boolean notNull)

    - #### getFieldSafe

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

      Throws:
        `SchemaElementNotFoundException`
      Since:
        4.2

    - #### getField

          IDBField getField​(java.lang.String name)

    - #### getField

          IDBField getField​(int position)

    - #### getFieldCount

          int getFieldCount()

    - #### getFields

          IDBField[] getFields()

    - #### getFields

          IDBField[] getFields​(java.lang.String... fieldNames)
                        throws SchemaElementNotFoundException

      Throws:
        `SchemaElementNotFoundException`
      Since:
        4.2

    - #### hasIndexFor

          boolean hasIndexFor​(IDBField... fields)

      Since:
        4.5

    - #### addIndex

          IDBIndex addIndex​(java.lang.String name,
                            IDBIndex.Type type,
                            IDBField... fields)

      Since:
        4.2

    - #### addIndex

          IDBIndex addIndex​(java.lang.String name,
                            IDBIndex.Type type,
                            java.lang.String... fieldNames)
                     throws SchemaElementNotFoundException

      Throws:
        `SchemaElementNotFoundException`
      Since:
        4.2

    - #### addIndexEmpty

          IDBIndex addIndexEmpty​(java.lang.String name,
                                 IDBIndex.Type type)

      Since:
        4.2

    - #### addIndex

          IDBIndex addIndex​(IDBIndex.Type type,
                            IDBField... fields)

    - #### addIndex

          IDBIndex addIndex​(IDBIndex.Type type,
                            java.lang.String... fieldNames)
                     throws SchemaElementNotFoundException

      Throws:
        `SchemaElementNotFoundException`
      Since:
        4.2

    - #### addIndexEmpty

          IDBIndex addIndexEmpty​(IDBIndex.Type type)

      Since:
        4.2

    - #### getIndexSafe

          IDBIndex getIndexSafe​(java.lang.String name)
                         throws SchemaElementNotFoundException

      Throws:
        `SchemaElementNotFoundException`
      Since:
        4.2

    - #### getIndex

          IDBIndex getIndex​(java.lang.String name)

      Since:
        4.2

    - #### getIndex

          IDBIndex getIndex​(int position)

      Since:
        4.2

    - #### getIndexCount

          int getIndexCount()

    - #### getIndices

          IDBIndex[] getIndices()

    - #### getPrimaryKeyIndex

          IDBIndex getPrimaryKeyIndex()

    - #### sqlInsert

          java.lang.String sqlInsert()