# Package de.esprit.appsuite.database.dbase

Contains most of the database related classes.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  Connectable | This interface should be implemented by classes that can establish a database connection.
  Database | This interface defines database actions for DBRecord instances.
  DBLoadMonitor<R extends DBRecord> | This interface defines a load monitor which is notified about each record loaded from the database
  DBPersistent | This class should be implemented by all Objects that are database persistent.
  DBRecord | This interface ensures a consistent view to objects that are database persistent.
  InsertFactory | This interface defines what makes up an InsertFactory for providing insert-default values.

- Class Summary
  Class | Description
  --- | ---
  AbstractDBLoadMonitor<R extends DBRecord> | This is the base class for a custom LoadMonitor.
  AbstractDBOCredential | This class extends the `Credential` object such that it contains the parameters to drive the `DBOCompiler`.
  CollectingDBLoadMonitor<R extends DBRecord> | This class just contains a list that collects the loaded records.
  ComposedRecord | This is the superclass for all composed records that are build up with DBObjects.
  Credential | This class encapsulates the parameters that are necessary to connect to a database via JDBC.
  CredentialHandler | This class builds the `Credential` object from the parsed data.
  CredentialWriter | This class writes the content of a `Credential` in NDF format.
  DBColumnChoice | This class encapsulates a possible value for a particular database column whereas the value is associated with a translated textual description for it.
  DBConnectionMap | This map stores database connections and manages their access count based on the accessing thread.
  DBConnectionPool | This class implements a pool for JDBC database connections.
  DBDate | This is a extension of java.sql.Date which provides useful constructors.
  DBLoadTask<C extends ApplicationContext> | This task is used to load records asynchronously from the database.
  DBObject | This is the abstract base class for modeling records of a database table as Java Objects.
  DBOTypeMapCredential | This class extends a credential such that it also contains the OR-type-mapping
  DBPoolConnection | This class wraps a JDBC database connection and adds some functionality to make it maintainable in a ConnectionPool.
  DBRecordContainer<R extends DBRecord> | This class encapsulates an inner instance of DBRecord
  DBRecordWrapper<R extends DBRecord> | This class is used typically for wrapping a `DBObject` instance which implements the DBRecord interface and thus can be handled by `DBRecordTable`, `DBRecordList` and other DBRecord capable classes.
  DBSupport | This class convenience routines for database access
  DBTime | This is an extension of Time which automatically fills the non visible time fields to the current datetime values.
  DBTimestamp | This is an extension of `Timestamp`.
  DBUtil | Collection of convenience methods that provide support for the DBObjects.
  DBUtil.EmptyBlob | Represents an empty Blob object.
  DBUtil.EmptyClob | Represents an empty Clob object.
  InsertDefaultFactory | This class may provide insert default values for any DBObject field.
  LocalDatabase | This class encapsulates the database access done by DBObjects and performs them on a local database connection.
  PrimaryKeyFactory | This class serves as a primary key generator for DBObjects.
  RecordIterator<R extends DBObject> | This Iterator executes a select query on the given master instance and then iterates through the ResultSet.
  ResultData | This is a special TableModel which fills itself from a ResultSet.
  SqlCondition | This class allows for constructing SQL conditions in an object oriented manner.
  SqlIterator | This Iterator reads the given text and splits it up into a list of SQL statements.
  SqlOrder | This class allows for constructing SQL order clause in an object oriented manner.
  StatementCache | This cache stores prepared statements of various DBObjects.
  TableSkipList | This list defines tables to be skipped during DBObject compilation.

- Enum Summary
  Enum | Description
  --- | ---
  DBAction | Defines database actions that can result in an SQLException being thrown
  DBChangeType | Defines database actions that result in a change of database data

- Exception Summary
  Exception | Description
  --- | ---
  ConnectionNotAvailableException | This Exception is thrown when a pool-connection is not available immediately of after a specified amount of time.
  ConnectionNotEstablishedException | This Exception is thrown by a DBObject when any database action is requested but a database connection has not yet been established.
  ConnNeverTakenException | This Exception is thrown when a thread tries to return a connection he has never taken before.
  DataConversionException | Is thrown when a sting cannot be converted to the given class type
  InsertFailedException | This Exception is thrown when an INSERT of a DBObject record fails
  InvalidPrimaryKeyException | This Exception is thrown by DBRecords if an UPDATE or REHASH is tried with an invalid primary key.
  NoCurrentRecordException | This Exception is thrown when an action is being performed on a current record, but the current record is nost set
  NoMatchingRecordFoundException | This exception it thrown when a parent record expects to find sub-records, but none has been found.
  NotInTransactionException | This Exception is thrown when COMMIT or ROLLBACK was called by a thread who is not running in a transaction
  RecordNotFoundException | This exception is thrown if the given record could not be found in the database.
  ShuttingDownException | This Exception is thrown when a pool-connection is requested by a client during shutdown.
  TooManyRecordsFoundException | This exception it thrown when a parent record expects exactly a single sub-record, but many sub-records have been found.

## Package de.esprit.appsuite.database.dbase Description

Contains most of the database related classes. The most important class here is BObject which is used to model database records as Java objects. There is a set of automatically generated DBObject subclasses in the dbo package, one for either table in the database.

Copyright © 2014 EsprIT-Systems. All Rights Reserved.