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

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addWorkgroupQueue​(WorkgroupQueueEntity queue)` | Add queue entity to storage.
    `void` | `deleteWorkgroupQueue​(BareJID queueJid)` |
    `protected java.lang.Class` | `findClassForDataSource​(DataSource dataSource)` | Method returns class implementing repository which supports data source instance provided in parameter.
    `java.lang.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.
    `java.util.Collection<WorkgroupQueueEntity>` | `getWorkgroupQueues()` | Returns collection of known queues.
    `void` | `initRepository​(java.lang.String resource_uri, java.util.Map<java.lang.String,​java.lang.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 Detail

    - #### RepoPool

          public RepoPool()

  - ### Method Detail

    - #### 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 java.lang.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 java.util.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​(java.lang.String resource_uri,
                                     java.util.Map<java.lang.String,​java.lang.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 java.lang.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`