# Package tigase.db

- Interface Summary
  Interface | Description
  --- | ---
  AuthRepository | Interface `AuthRepository` defines a proxy bridge between user authentication data storage and the Tigase server authentication logic.
  DataRepository | The interface defines a generic data repository for storing arbitrary data in any application specific form.
  DataSource | Interface implemented by every class providing access to data storage, ie. databases, files, key-value stores.
  DataSourceAware<T extends DataSource> | Interface providing a generic way to access data sources by classes implementing it.
  DataSourceHelper.Matcher |
  DataSourcePool<T extends DataSource> | Generic interface for all implementations of a pool of data sources.
  MsgRepositoryIfc<T extends DataSource> | Created by andrzej on 13.03.2016.
  NonAuthUserRepository | Describe interface WriteOnlyUserRepository here.
  OfflineMsgRepositoryIfc | Interface for storing and restoring offline Elements.
  Repository | Base interface which should be implemented by every repository to have one common interface
  RepositoryPool<T> | Generic interface of repository pool implementations.
  UserRepository | `UserRepository` interface defines all functionalities required to store user data.
  UserRepositoryPool.IRepoCache<K,​V> |

- Class Summary
  Class | Description
  --- | ---
  AbstractAuthRepositoryWithCredentials |
  AuthRepository.DefaultCredentials |
  AuthRepository.DefaultCredentials.RawEntry |
  AuthRepository.SingleCredential |
  AuthRepositoryImpl | Describe class AuthRepositoryImpl here.
  AuthRepositoryMDImpl | Implementation of multi domain pool for authentication repositories.
  AuthRepositoryPool | Pool for authentication repositories. * This pool should be used if connection to authentication storage is blocking or synchronized, ie. implemented using single connection.* If implementation of `AuthRepository` uses connection pool or non blocking, concurrent access to authentication storage (ie.
  DataRepositoryPool | Created: Sep 4, 2010 2:13:22 PM
  DataSourceHelper | Created by andrzej on 15.03.2016.
  DummyRepository | DummyRepository is a class with all methods empty.
  NonAuthUserRepositoryImpl | Created: May 3, 2010 1:23:45 PM
  RepositoryFactory | Deprecated.
  Schema | Created by andrzej on 04.05.2017.
  UserRepository.UserRemovedEvent |
  UserRepositoryMDImpl | Created: Mar 27, 2010 6:43:02 PM
  UserRepositoryPool | Pool for user repositories. * This pool should be used if connection to user storage is blocking or synchronized, ie. implemented using single connection.* If implementation of `UserRepository` uses connection pool or non blocking, concurrent access to user storage (ie.

- Enum Summary
  Enum | Description
  --- | ---
  AuthRepository.AccountStatus |
  DataRepository.dbTypes | Helper enumeration with types of supported databases.

- Exception Summary
  Exception | Description
  --- | ---
  AuthorizationException | Describe class AuthorizationException here.
  DataOverwriteException | The `DataOverwriteException` exception is thrown when application tries to ovrewrite data in repository but does not have permission to do so.
  DBInitException | Describe class DBInitException here.
  TigaseDBException | Describe class TigaseDBException here.
  UserExistsException | The `UserExistsException` is thrown when application tries to add new user with user ID which already exists in repository.
  UserNotFoundException | The `UserNotFoundException` exception is thrown when application tries to access data for user which does not exist in repository.

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  Repository.Meta | Meta created to add possibility to retrieve information about implementation of repository (ie. supported database URI)
  Repository.SchemaId | Annotation provides information about schema (ie. database schema) required by annotated class.