org.eclipse.net4j.db.ddl

## Interface IDBSchema

- All Superinterfaces:
    Comparable<IDBSchemaElement>, IContainer<IDBSchemaElement>, IDBElement, IDBNamedElement, IDBSchemaElement, 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.db.ddl.IDBSchemaElement

      `IDBSchemaElement.SchemaElementType`

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

      `IContainer.Modifiable<E>, IContainer.Persistable<E>, IContainer.Persistence<E>`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `IDBTable` | `addTable(String name)`
    `IDBSchemaDelta` | `compare(IDBSchema oldSchema)`
    `Set<IDBTable>` | `create(IDBAdapter dbAdapter, Connection connection)`
    `Set<IDBTable>` | `create(IDBAdapter dbAdapter, DataSource dataSource)`
    `Set<IDBTable>` | `create(IDBAdapter dbAdapter, IDBConnectionProvider connectionProvider)`
    `void` | `drop(IDBAdapter dbAdapter, Connection connection)`
    `void` | `drop(IDBAdapter dbAdapter, DataSource dataSource)`
    `void` | `drop(IDBAdapter dbAdapter, IDBConnectionProvider connectionProvider)`
    `void` | `export(Connection connection, PrintStream out)`
    `void` | `export(DataSource dataSource, PrintStream out)`
    `void` | `export(IDBConnectionProvider connectionProvider, PrintStream out)`
    `<T extends IDBSchemaElement> T` | `findElement(IDBSchemaElement prototype)`
    `IDBTable` | `getTable(String name)`
    `IDBTable[]` | `getTables()`
    `IDBTable` | `getTableSafe(String name)`
    `boolean` | `isLocked()`
    `IDBTable` | `removeTable(String name)`

    - ### 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.db.ddl.IDBNamedElement

      `getName`

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

      `getProperties`

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

      `addListener, getListeners, hasListeners, removeListener`

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

      `getElements, isEmpty`

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

      `compareTo`

- - ### Method Detail

    - #### isLocked

          boolean isLocked()

      Since:
        4.2

    - #### findElement

          <T extends IDBSchemaElement> T findElement(IDBSchemaElement prototype)

      Since:
        4.2

    - #### addTable

          IDBTable addTable(String name)
                     throws DBException

      Throws:
        `DBException`

    - #### removeTable

          IDBTable removeTable(String name)
                        throws DBException

      Throws:
        `DBException`
      Since:
        4.0

    - #### getTableSafe

          IDBTable getTableSafe(String name)
                         throws SchemaElementNotFoundException

      Throws:
        `SchemaElementNotFoundException`
      Since:
        4.2

    - #### getTable

          IDBTable getTable(String name)

    - #### getTables

          IDBTable[] getTables()

    - #### create

          Set<IDBTable> create(IDBAdapter dbAdapter,
                               Connection connection)
                        throws DBException

      Throws:
        `DBException`

    - #### create

          Set<IDBTable> create(IDBAdapter dbAdapter,
                               DataSource dataSource)
                        throws DBException

      Throws:
        `DBException`

    - #### create

          Set<IDBTable> create(IDBAdapter dbAdapter,
                               IDBConnectionProvider connectionProvider)
                        throws DBException

      Throws:
        `DBException`

    - #### drop

          void drop(IDBAdapter dbAdapter,
                    Connection connection)
             throws DBException

      Throws:
        `DBException`

    - #### drop

          void drop(IDBAdapter dbAdapter,
                    DataSource dataSource)
             throws DBException

      Throws:
        `DBException`

    - #### drop

          void drop(IDBAdapter dbAdapter,
                    IDBConnectionProvider connectionProvider)
             throws DBException

      Throws:
        `DBException`

    - #### export

          void export(Connection connection,
                      PrintStream out)
               throws DBException

      Throws:
        `DBException`

    - #### export

          void export(DataSource dataSource,
                      PrintStream out)
               throws DBException

      Throws:
        `DBException`

    - #### export

          void export(IDBConnectionProvider connectionProvider,
                      PrintStream out)
               throws DBException

      Throws:
        `DBException`

    - #### compare

          IDBSchemaDelta compare(IDBSchema oldSchema)

      Since:
        4.2

Copyright (c) 2014 Eike Stepper (Berlin, Germany) and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html