Package org.eclipse.emf.cdo.server.db

## Interface IDBStore

- All Superinterfaces:
    `org.eclipse.net4j.db.IDBConnectionProvider`, `IStore`, `IStore.CanHandleClientAssignedIDs`

      public interface IDBStore
      extends IStore, org.eclipse.net4j.db.IDBConnectionProvider, IStore.CanHandleClientAssignedIDs

  The main entry point to the API of CDO's proprietary object/relational mapper.
  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 interface` | `IDBStore.Props` | Contains symbolic constants that specify valid keys of `DB store properties`.
    `static interface` | `IDBStore.TableVisitor` | Called back from `visitAllTables(Connection, TableVisitor)` for all tables in the database.

    - ### Nested classes/interfaces inherited from interface org.eclipse.emf.cdo.server.IStore

      `IStore.CanHandleClientAssignedIDs, IStore.ChangeFormat, IStore.RevisionParallelism, IStore.RevisionTemporality`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `org.eclipse.net4j.db.IDBDatabase` | `getDatabase()` |
    `org.eclipse.net4j.db.IDBAdapter` | `getDBAdapter()` |
    `org.eclipse.net4j.db.ddl.IDBSchema` | `getDBSchema()` |
    `int` | `getIDColumnLength()` |
    `IIDHandler` | `getIDHandler()` |
    `int` | `getJDBCFetchSize()` |
    `IMappingStrategy` | `getMappingStrategy()` |
    `IMetaDataManager` | `getMetaDataManager()` | Get the meta data manager associated with this DBStore.
    `java.util.Map<java.lang.String,​java.lang.String>` | `getProperties()` |
    `IDBStoreAccessor` | `getReader​(ISession session)` | Returns a reader that can be used to read from this store in the context of the given session.
    `IDBStoreAccessor` | `getWriter​(ITransaction transaction)` | Returns a writer that can be used to write to this store in the context of the given view.
    `void` | `visitAllTables​(java.sql.Connection connection, IDBStore.TableVisitor visitor)` |

    - ### Methods inherited from interface org.eclipse.net4j.db.IDBConnectionProvider

      `getConnection`

    - ### Methods inherited from interface org.eclipse.emf.cdo.server.IStore

      `createObjectID, getCreationTime, getIndicatingCommitDistributor, getLastBranchID, getLastCommitTime, getLastLocalBranchID, getLastNonLocalCommitTime, getObjectIDTypes, getPersistentProperties, getRepository, getRevisionParallelism, getRevisionTemporality, getSupportedChangeFormats, getSupportedRevisionParallelisms, getSupportedRevisionTemporalities, getType, isFirstStart, removePersistentProperties, setPersistentProperties`

- - ### Method Detail

    - #### getMappingStrategy

          IMappingStrategy getMappingStrategy()

      Since:
        2.0

    - #### getIDHandler

          IIDHandler getIDHandler()

      Since:
        4.0

    - #### getDatabase

          org.eclipse.net4j.db.IDBDatabase getDatabase()

      Since:
        4.2

    - #### getDBAdapter

          org.eclipse.net4j.db.IDBAdapter getDBAdapter()

    - #### getDBSchema

          org.eclipse.net4j.db.ddl.IDBSchema getDBSchema()

    - #### getIDColumnLength

          int getIDColumnLength()

      Since:
        4.2

    - #### getJDBCFetchSize

          int getJDBCFetchSize()

      Since:
        4.4

    - #### getProperties

          java.util.Map<java.lang.String,​java.lang.String> getProperties()

      Since:
        4.2

    - #### visitAllTables

          void visitAllTables​(java.sql.Connection connection,
                              IDBStore.TableVisitor visitor)

      Since:
        4.2

    - #### getMetaDataManager

          IMetaDataManager getMetaDataManager()

      Get the meta data manager associated with this DBStore.
      Since:
        2.0

    - #### getReader

          IDBStoreAccessor getReader​(ISession session)

      Description copied from interface: `IStore`
      Returns a reader that can be used to read from this store in the context of the given session.
      Specified by:
        `getReader` in interface `IStore`
      Parameters:
        `session` - The session that should be used as a context for read access or `null`. The store implementor is free to interpret and use the session in a manner suitable for him or ignore it at all. It is meant only as a hint. Implementor can use it as a key into a cache and/or register a `LifecycleEventAdapter` with it to intercept cleanup on session close. Note however that the session can be `null`, for example during startup of the server while the repositories are initialized but before any user session has been opened.
      Returns:
        a reader that can be used to read from this store in the context of the given session, never `null`.
      Since:
        2.0

    - #### getWriter

          IDBStoreAccessor getWriter​(ITransaction transaction)

      Description copied from interface: `IStore`
      Returns a writer that can be used to write to this store in the context of the given view. The given view is always marked as a transaction.
      Specified by:
        `getWriter` in interface `IStore`
      Parameters:
        `transaction` - The view that must be used as a context for write access. The store implementor is free to interpret and use the view in a manner suitable for him or ignore it at all. It is meant only as a hint. Implementor can use it as a key into a cache and/or register a `LifecycleEventAdapter` with it to intercept cleanup on view close.
      Returns:
        a writer that can be used to write to this store in the context of the given view, never `null`.
      Since:
        2.0