Package org.eclipse.net4j.db.ddl

## Interface IDBSchema

- 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:
    `InternalDBSchema`
  All Known Implementing Classes:
    `org.eclipse.net4j.internal.db.ddl.DBSchema`, `DBSchema`

      public interface IDBSchema
      extends IDBSchemaElement

  Specifies a number of `DB tables` that can be created in or dropped from a database through a `DB adapter`.
  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
    --- | --- | ---
    `IDBTable` | `addTable​(java.lang.String name)` |
    `IDBSchemaDelta` | `compare​(IDBSchema oldSchema)` |
    `java.util.Set<IDBTable>` | `create​(IDBAdapter dbAdapter, java.sql.Connection connection)` |
    `java.util.Set<IDBTable>` | `create​(IDBAdapter dbAdapter, javax.sql.DataSource dataSource)` |
    `java.util.Set<IDBTable>` | `create​(IDBAdapter dbAdapter, IDBConnectionProvider connectionProvider)` |
    `void` | `drop​(IDBAdapter dbAdapter, java.sql.Connection connection)` |
    `void` | `drop​(IDBAdapter dbAdapter, javax.sql.DataSource dataSource)` |
    `void` | `drop​(IDBAdapter dbAdapter, IDBConnectionProvider connectionProvider)` |
    `void` | `export​(java.sql.Connection connection, java.io.PrintStream out)` |
    `void` | `export​(javax.sql.DataSource dataSource, java.io.PrintStream out)` |
    `void` | `export​(IDBConnectionProvider connectionProvider, java.io.PrintStream out)` |
    `<T extends IDBSchemaElement> T` | `findElement​(IDBSchemaElement prototype)` |
    `IDBTable` | `getTable​(java.lang.String name)` |
    `IDBTable[]` | `getTables()` |
    `IDBTable` | `getTableSafe​(java.lang.String name)` |
    `boolean` | `isLocked()` |
    `IDBTable` | `removeTable​(java.lang.String name)` |

    - ### 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, getParent, getSchema, getSchemaElementType, remove, setName`

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

      `addListener, getListeners, hasListeners, removeListener`

- - ### Method Detail

    - #### isLocked

          boolean isLocked()

      Since:
        4.2

    - #### findElement

          <T extends IDBSchemaElement> T findElement​(IDBSchemaElement prototype)

      Since:
        4.2

    - #### addTable

          IDBTable addTable​(java.lang.String name)
                     throws DBException

      Throws:
        `DBException`

    - #### removeTable

          IDBTable removeTable​(java.lang.String name)
                        throws DBException

      Throws:
        `DBException`
      Since:
        4.0

    - #### getTableSafe

          IDBTable getTableSafe​(java.lang.String name)
                         throws SchemaElementNotFoundException

      Throws:
        `SchemaElementNotFoundException`
      Since:
        4.2

    - #### getTable

          IDBTable getTable​(java.lang.String name)

    - #### getTables

          IDBTable[] getTables()

    - #### create

          java.util.Set<IDBTable> create​(IDBAdapter dbAdapter,
                                         java.sql.Connection connection)
                                  throws DBException

      Throws:
        `DBException`

    - #### create

          java.util.Set<IDBTable> create​(IDBAdapter dbAdapter,
                                         javax.sql.DataSource dataSource)
                                  throws DBException

      Throws:
        `DBException`

    - #### create

          java.util.Set<IDBTable> create​(IDBAdapter dbAdapter,
                                         IDBConnectionProvider connectionProvider)
                                  throws DBException

      Throws:
        `DBException`

    - #### drop

          void drop​(IDBAdapter dbAdapter,
                    java.sql.Connection connection)
             throws DBException

      Throws:
        `DBException`

    - #### drop

          void drop​(IDBAdapter dbAdapter,
                    javax.sql.DataSource dataSource)
             throws DBException

      Throws:
        `DBException`

    - #### drop

          void drop​(IDBAdapter dbAdapter,
                    IDBConnectionProvider connectionProvider)
             throws DBException

      Throws:
        `DBException`

    - #### export

          void export​(java.sql.Connection connection,
                      java.io.PrintStream out)
               throws DBException

      Throws:
        `DBException`

    - #### export

          void export​(javax.sql.DataSource dataSource,
                      java.io.PrintStream out)
               throws DBException

      Throws:
        `DBException`

    - #### export

          void export​(IDBConnectionProvider connectionProvider,
                      java.io.PrintStream out)
               throws DBException

      Throws:
        `DBException`

    - #### compare

          IDBSchemaDelta compare​(IDBSchema oldSchema)

      Since:
        4.2