Package tigase.archive.db
Class MessageArchiveRepositoryPool<Q extends QueryCriteria,R extends MessageArchiveRepository<Q,tigase.db.DataSource>>
- java.lang.Object
-
- tigase.db.beans.MDRepositoryBean<T>
-
- tigase.db.beans.MDRepositoryBeanWithStatistics<R>
-
- tigase.archive.db.MessageArchiveRepositoryPool<Q,R>
-
- 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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMessageArchiveRepositoryPool.MessageArchiveRepositoryConfigBean-
Nested classes/interfaces inherited from class tigase.db.beans.MDRepositoryBean
tigase.db.beans.MDRepositoryBean.MDRepositoryConfigBean<A extends tigase.db.DataSourceAware>, tigase.db.beans.MDRepositoryBean.SelectorType
-
Nested classes/interfaces inherited from interface tigase.xmpp.mam.MAMRepository
tigase.xmpp.mam.MAMRepository.ItemHandler<Q extends tigase.xmpp.mam.Query,I extends tigase.xmpp.mam.MAMRepository.Item>
-
Nested classes/interfaces inherited from interface tigase.archive.db.MessageArchiveRepository
MessageArchiveRepository.CollectionHandler<Q extends tigase.xmpp.mam.Query>, MessageArchiveRepository.Direction, MessageArchiveRepository.Item
-
-
Constructor Summary
Constructors Constructor Description MessageArchiveRepositoryPool()MessageArchiveRepositoryPool(Class<? extends MessageArchiveRepository>... classess)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidarchiveMessage(tigase.xmpp.jid.BareJID owner, tigase.xmpp.jid.JID buddy, MessageArchiveRepository.Direction direction, Date timestamp, tigase.xml.Element msg, Set tags)booleanbelongsTo(Class<? extends tigase.server.BasicComponent> component)voiddeleteExpiredMessages(tigase.xmpp.jid.BareJID owner, LocalDateTime before)protected ClassfindClassForDataSource(tigase.db.DataSource dataSource)Class<?>getDefaultBeanClass()List<String>getTags(tigase.xmpp.jid.BareJID owner, String startsWith, Q criteria)QnewQuery()voidqueryCollections(Q query, MessageArchiveRepository.CollectionHandler<Q> collectionHandler)voidqueryItems(Q query, tigase.xmpp.mam.MAMRepository.ItemHandler<Q,tigase.xmpp.mam.MAMRepository.Item> itemHandler)voidremoveItems(tigase.xmpp.jid.BareJID owner, String withJid, Date start, Date end)voidsetDataSource(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
-
Methods inherited from interface tigase.archive.db.MessageArchiveRepository
destroy
-
-
-
-
Constructor Detail
-
MessageArchiveRepositoryPool
public MessageArchiveRepositoryPool()
-
MessageArchiveRepositoryPool
public MessageArchiveRepositoryPool(Class<? extends MessageArchiveRepository>... classess)
-
-
Method Detail
-
belongsTo
public boolean belongsTo(Class<? extends tigase.server.BasicComponent> component)
- Specified by:
belongsToin interfacetigase.stats.ComponentStatisticsProvider
-
archiveMessage
public void archiveMessage(tigase.xmpp.jid.BareJID owner, tigase.xmpp.jid.JID buddy, MessageArchiveRepository.Direction direction, Date timestamp, tigase.xml.Element msg, Set tags)- Specified by:
archiveMessagein interfaceMessageArchiveRepository<Q extends QueryCriteria,R extends MessageArchiveRepository<Q,tigase.db.DataSource>>
-
deleteExpiredMessages
public void deleteExpiredMessages(tigase.xmpp.jid.BareJID owner, LocalDateTime before) throws tigase.db.TigaseDBException- Specified by:
deleteExpiredMessagesin interfaceMessageArchiveRepository<Q extends QueryCriteria,R extends MessageArchiveRepository<Q,tigase.db.DataSource>>- Throws:
tigase.db.TigaseDBException
-
newQuery
public Q newQuery()
- Specified by:
newQueryin interfacetigase.xmpp.mam.MAMRepository<Q extends QueryCriteria,R extends MessageArchiveRepository<Q,tigase.db.DataSource>>
-
queryCollections
public void queryCollections(Q query, MessageArchiveRepository.CollectionHandler<Q> collectionHandler) throws tigase.db.TigaseDBException
- Specified by:
queryCollectionsin interfaceMessageArchiveRepository<Q extends QueryCriteria,R extends MessageArchiveRepository<Q,tigase.db.DataSource>>- Throws:
tigase.db.TigaseDBException
-
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:
queryItemsin interfacetigase.xmpp.mam.MAMRepository<Q extends QueryCriteria,R extends MessageArchiveRepository<Q,tigase.db.DataSource>>- Throws:
tigase.component.exceptions.RepositoryExceptiontigase.component.exceptions.ComponentException
-
removeItems
public void removeItems(tigase.xmpp.jid.BareJID owner, String withJid, Date start, Date end) throws tigase.db.TigaseDBException- Specified by:
removeItemsin interfaceMessageArchiveRepository<Q extends QueryCriteria,R extends MessageArchiveRepository<Q,tigase.db.DataSource>>- Throws:
tigase.db.TigaseDBException
-
getTags
public List<String> getTags(tigase.xmpp.jid.BareJID owner, String startsWith, Q criteria) throws tigase.db.TigaseDBException
- Specified by:
getTagsin interfaceMessageArchiveRepository<Q extends QueryCriteria,R extends MessageArchiveRepository<Q,tigase.db.DataSource>>- Throws:
tigase.db.TigaseDBException
-
setDataSource
public void setDataSource(tigase.db.DataSource dataSource)
- Specified by:
setDataSourcein interfacetigase.db.DataSourceAware<Q extends QueryCriteria>
-
getDefaultBeanClass
public Class<?> getDefaultBeanClass()
- Specified by:
getDefaultBeanClassin interfacetigase.kernel.beans.RegistrarBeanWithDefaultBeanClass
-
findClassForDataSource
protected Class findClassForDataSource(tigase.db.DataSource dataSource) throws tigase.db.DBInitException
- Specified by:
findClassForDataSourcein classtigase.db.beans.MDRepositoryBean<R extends MessageArchiveRepository<Q,tigase.db.DataSource>>- Throws:
tigase.db.DBInitException
-
-