Class MessageArchiveRepositoryPool<Q extends QueryCriteria,​R extends MessageArchiveRepository<Q,​tigase.db.DataSource>>

  • All Implemented Interfaces:
    MessageArchiveRepository<Q,​tigase.db.DataSource>, tigase.db.DataSourceAware<tigase.db.DataSource>, tigase.kernel.beans.Initializable, tigase.kernel.beans.RegistrarBean, tigase.kernel.beans.RegistrarBeanWithDefaultBeanClass, tigase.kernel.beans.UnregisterAware, tigase.stats.ComponentStatisticsProvider, tigase.stats.StatisticsProviderIfc, tigase.xmpp.mam.MAMRepository<Q,​tigase.xmpp.mam.MAMRepository.Item>

    @Bean(name="repositoryPool",
          parent=MessageArchiveComponent.class,
          active=true)
    public class MessageArchiveRepositoryPool<Q extends QueryCriteria,​R extends MessageArchiveRepository<Q,​tigase.db.DataSource>>
    extends tigase.db.beans.MDRepositoryBeanWithStatistics<R>
    implements MessageArchiveRepository<Q,​tigase.db.DataSource>
    Created by andrzej on 16.07.2016.
    • Field Summary

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

        aliases, dataSourceSelection
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void archiveMessage​(tigase.xmpp.jid.BareJID owner, tigase.xmpp.jid.JID buddy, MessageArchiveRepository.Direction direction, java.util.Date timestamp, tigase.xml.Element msg, java.util.Set tags)  
      boolean belongsTo​(java.lang.Class<? extends tigase.server.BasicComponent> component)  
      void deleteExpiredMessages​(tigase.xmpp.jid.BareJID owner, java.time.LocalDateTime before)  
      protected java.lang.Class findClassForDataSource​(tigase.db.DataSource dataSource)  
      java.lang.Class<?> getDefaultBeanClass()  
      java.util.List<java.lang.String> getTags​(tigase.xmpp.jid.BareJID owner, java.lang.String startsWith, Q criteria)  
      Q newQuery()  
      void queryCollections​(Q query, MessageArchiveRepository.CollectionHandler<Q> collectionHandler)  
      void queryItems​(Q query, tigase.xmpp.mam.MAMRepository.ItemHandler<Q,​tigase.xmpp.mam.MAMRepository.Item> itemHandler)  
      void removeItems​(tigase.xmpp.jid.BareJID owner, java.lang.String withJid, java.util.Date start, java.util.Date end)  
      void setDataSource​(tigase.db.DataSource dataSource)  
      • 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
    • Constructor Detail

      • MessageArchiveRepositoryPool

        public MessageArchiveRepositoryPool()
      • MessageArchiveRepositoryPool

        public MessageArchiveRepositoryPool​(java.lang.Class<? extends MessageArchiveRepository>... classess)
    • Method Detail

      • belongsTo

        public boolean belongsTo​(java.lang.Class<? extends tigase.server.BasicComponent> component)
        Specified by:
        belongsTo in interface tigase.stats.ComponentStatisticsProvider
      • queryItems

        public void queryItems​(Q query,
                               tigase.xmpp.mam.MAMRepository.ItemHandler<Q,​tigase.xmpp.mam.MAMRepository.Item> itemHandler)
                        throws tigase.component.exceptions.RepositoryException,
                               tigase.component.exceptions.ComponentException
        Specified by:
        queryItems in interface tigase.xmpp.mam.MAMRepository<Q extends QueryCriteria,​R extends MessageArchiveRepository<Q,​tigase.db.DataSource>>
        Throws:
        tigase.component.exceptions.RepositoryException
        tigase.component.exceptions.ComponentException
      • getTags

        public java.util.List<java.lang.String> getTags​(tigase.xmpp.jid.BareJID owner,
                                                        java.lang.String startsWith,
                                                        Q criteria)
                                                 throws tigase.db.TigaseDBException
        Specified by:
        getTags in interface MessageArchiveRepository<Q extends QueryCriteria,​R extends MessageArchiveRepository<Q,​tigase.db.DataSource>>
        Throws:
        tigase.db.TigaseDBException
      • setDataSource

        public void setDataSource​(tigase.db.DataSource dataSource)
        Specified by:
        setDataSource in interface tigase.db.DataSourceAware<Q extends QueryCriteria>
      • getDefaultBeanClass

        public java.lang.Class<?> getDefaultBeanClass()
        Specified by:
        getDefaultBeanClass in interface tigase.kernel.beans.RegistrarBeanWithDefaultBeanClass
      • findClassForDataSource

        protected java.lang.Class findClassForDataSource​(tigase.db.DataSource dataSource)
                                                  throws tigase.db.DBInitException
        Specified by:
        findClassForDataSource in class tigase.db.beans.MDRepositoryBean<R extends MessageArchiveRepository<Q,​tigase.db.DataSource>>
        Throws:
        tigase.db.DBInitException