org.eclipse.net4j.spi.db.ddl

## Interface InternalDBSchema

- All Superinterfaces:
    java.lang.Comparable<IDBSchemaElement>, IContainer<IDBSchemaElement>, IDBElement, IDBNamedElement, IDBSchema, IDBSchemaElement, INotifier, InternalDBElement, InternalDBNamedElement, InternalDBSchemaElement
  All Known Implementing Classes:
    org.eclipse.net4j.internal.db.ddl.DBSchema, DBSchema

      public interface InternalDBSchema
      extends IDBSchema, InternalDBSchemaElement

  Since:
    4.2
  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>`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static IDBTable[]` | `NO_TABLES`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `IDBTable` | `addTable(java.lang.String name)`
    `void` | `assertUnlocked()`
    `java.lang.String` | `createIndexName(IDBTable table, IDBIndex.Type type, IDBField[] fields, int position)`
    `IDBSchema` | `getWrapper()`
    `boolean` | `lock()`
    `IDBTable` | `removeTable(java.lang.String name)`
    `boolean` | `unlock()`

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

      `compare, create, create, create, drop, drop, drop, export, export, export, findElement, getTable, getTables, getTableSafe, isLocked`

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

      `setWrapper`

    - ### 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.container.IContainer

      `getElements, isEmpty`

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

      `compareTo`

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

      `dump, dump, dumpToString, 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`

- - ### Field Detail

    - #### NO_TABLES

          static final IDBTable[] NO_TABLES

  - ### Method Detail

    - #### getWrapper

          IDBSchema getWrapper()

      Specified by:
        `getWrapper` in interface `InternalDBSchemaElement`

    - #### addTable

          IDBTable addTable(java.lang.String name)

      Specified by:
        `addTable` in interface `IDBSchema`

    - #### removeTable

          IDBTable removeTable(java.lang.String name)

      Specified by:
        `removeTable` in interface `IDBSchema`

    - #### createIndexName

          java.lang.String createIndexName(IDBTable table,
                                           IDBIndex.Type type,
                                           IDBField[] fields,
                                           int position)

    - #### lock

          boolean lock()

    - #### unlock

          boolean unlock()

    - #### assertUnlocked

          void assertUnlocked()
                       throws DBException

      Throws:
        `DBException`

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