Package tigase.workgroupqueues.data

# Class RepoPool

java.lang.Object
tigase.db.beans.MDRepositoryBean<T>
tigase.db.beans.MDRepositoryBeanWithStatistics<Store>
tigase.workgroupqueues.data.RepoPool

All Implemented Interfaces:
  `DataSourceAware<DataRepository>`, `Repository`, `Initializable`, `RegistrarBean`, `RegistrarBeanWithDefaultBeanClass`, `UnregisterAware`, `ComponentStatisticsProvider`, `StatisticsProviderIfc`, `Store`

@Bean(name="repositoryPool", parent=WorkgroupQueuesComponent.class, active=true) public class RepoPool extends MDRepositoryBeanWithStatistics<Store> implements Store
Created by bmalkow on 22.02.2017.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `RepoPool.MessageArchiveRepositoryConfigBean`

  ## Nested classes/interfaces inherited from class tigase.db.beans.MDRepositoryBean

  `MDRepositoryBean.MDRepositoryConfigBean<A extends DataSourceAware>, MDRepositoryBean.SelectorType`

  ## Nested classes/interfaces inherited from interface tigase.db.Repository

  `Repository.Meta, Repository.SchemaId`

- ## Field Summary

  ### Fields inherited from class tigase.db.beans.MDRepositoryBean

  `aliases, dataSourceSelection`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `RepoPool()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addWorkgroupQueue(WorkgroupQueueEntity queue)`
  Add queue entity to storage.
  `void`
  `deleteWorkgroupQueue(BareJID queueJid)`
  `protected Class`
  `findClassForDataSource(DataSource dataSource)`
  Method returns class implementing repository which supports data source instance provided in parameter.
  `Class<?>`
  `getDefaultBeanClass()`
  Returns default class for all bean which are defined using configuration as subbeans of bean implementing this interface.
  `WorkgroupQueueEntity`
  `getWorkgroupQueue(BareJID queueJID)`
  Loads queue entity from storage.
  `Collection<WorkgroupQueueEntity>`
  `getWorkgroupQueues()`
  Returns collection of known queues.
  `void`
  `initRepository(String resource_uri, Map<String,String> params)`
  Method is deprecated and should not be user any more.
  `void`
  `setDataSource(DataRepository dataSource)`
  Method called to provide class with instance of a data source.

  ### Methods inherited from class tigase.db.beans.MDRepositoryBeanWithStatistics

  `everyHour, everyMinute, everySecond, getRepositories, getRepository, getStatistics, setStatisticsEnabled, updateDataSourceAware, wrapInProxy`

  ### Methods inherited from class tigase.db.beans.MDRepositoryBean

  `beforeUnregister, getName, initialize, initializeRepository, onDataSourceChange, register, registerIfNotExists, repositoriesStream, setDataSourceBean, unregister`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface tigase.stats.ComponentStatisticsProvider

  `belongsTo`

- ## Constructor Details

  - ### RepoPool

    public RepoPool()

- ## Method Details

  - ### addWorkgroupQueue

    public void addWorkgroupQueue(WorkgroupQueueEntity queue)
    Description copied from interface: `Store`
    Add queue entity to storage.
    Specified by:
      `addWorkgroupQueue` in interface `Store`
    Parameters:
      `queue` - queue to add.

  - ### deleteWorkgroupQueue

    public void deleteWorkgroupQueue(BareJID queueJid)
    Specified by:
      `deleteWorkgroupQueue` in interface `Store`

  - ### getDefaultBeanClass

    public Class<?> getDefaultBeanClass()
    Description copied from interface: `RegistrarBeanWithDefaultBeanClass`
    Returns default class for all bean which are defined using configuration as subbeans of bean implementing this interface. This allows users to have more convenient configuration file without the need to specify class for each of subbbeans if most of them will have the same class.
    Specified by:
      `getDefaultBeanClass` in interface `RegistrarBeanWithDefaultBeanClass`

  - ### getWorkgroupQueue

    public WorkgroupQueueEntity getWorkgroupQueue(BareJID queueJID)
    Description copied from interface: `Store`
    Loads queue entity from storage.
    Specified by:
      `getWorkgroupQueue` in interface `Store`
    Parameters:
      `queueJID` - JID of queue.
    Returns:
      queue instance of `null` if queue doesn't exists.

  - ### getWorkgroupQueues

    public Collection<WorkgroupQueueEntity> getWorkgroupQueues()
    Description copied from interface: `Store`
    Returns collection of known queues.
    Specified by:
      `getWorkgroupQueues` in interface `Store`
    Returns:
      collection of queues.

  - ### initRepository

    public void initRepository(String resource_uri, Map<String,String> params) throws DBInitException
    Description copied from interface: `Repository`
    Method is deprecated and should not be user any more.
    The method is called to initialize the data repository. Depending on the implementation all the initialization parameters can be passed either via `resource_uri` parameter as the database connection string or via `params` map if the required repository parameters are more complex or both.
    Specified by:
      `initRepository` in interface `Repository`
    Parameters:
      `resource_uri` - value in most cases representing the database connection string.
      `params` - is a `Map` with repository properties necessary to initialize and perform all the functions. The initialization parameters are implementation dependent.
    Throws:
      `DBInitException` - if there was an error during repository initialization. Some implementations, though, perform so called lazy initialization so even though there is a problem with the underlying repository it may not be signaled through this method call.

  - ### setDataSource

    public void setDataSource(DataRepository dataSource)
    Description copied from interface: `DataSourceAware`
    Method called to provide class with instance of a data source.
    Specified by:
      `setDataSource` in interface `DataSourceAware<DataRepository>`

  - ### findClassForDataSource

    protected Class findClassForDataSource(DataSource dataSource) throws DBInitException
    Description copied from class: `MDRepositoryBean`
    Method returns class implementing repository which supports data source instance provided in parameter.
    Specified by:
      `findClassForDataSource` in class `MDRepositoryBean<Store>`
    Returns:
      repository class
    Throws:
      `DBInitException`