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.Collection, MessageArchiveRepository.CollectionHandler<Q extends tigase.xmpp.mam.Query,C extends MessageArchiveRepository.Collection>, MessageArchiveRepository.Direction, MessageArchiveRepository.Item
-
-
Constructor Summary
Constructors Constructor Description MessageArchiveRepositoryPool()MessageArchiveRepositoryPool(java.lang.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, java.util.Date timestamp, tigase.xml.Element msg, java.lang.String stableId, java.util.Set tags)booleanbelongsTo(java.lang.Class<? extends tigase.server.BasicComponent> component)voiddeleteExpiredMessages(tigase.xmpp.jid.BareJID owner, java.time.LocalDateTime before)protected java.lang.ClassfindClassForDataSource(tigase.db.DataSource dataSource)java.lang.Class<?>getDefaultBeanClass()java.lang.StringgetStableId(tigase.xmpp.jid.BareJID owner, tigase.xmpp.jid.BareJID buddy, java.lang.String stanzaId)java.util.List<java.lang.String>getTags(tigase.xmpp.jid.BareJID owner, java.lang.String startsWith, Q criteria)QnewQuery()voidqueryCollections(Q query, MessageArchiveRepository.CollectionHandler<Q,MessageArchiveRepository.Collection> collectionHandler)voidqueryItems(Q query, tigase.xmpp.mam.MAMRepository.ItemHandler<Q,tigase.xmpp.mam.MAMRepository.Item> itemHandler)voidremoveItems(tigase.xmpp.jid.BareJID owner, java.lang.String withJid, java.util.Date start, java.util.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(java.lang.Class<? extends MessageArchiveRepository>... classess)
-
-
Method Detail
-
belongsTo
public boolean belongsTo(java.lang.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, java.util.Date timestamp, tigase.xml.Element msg, java.lang.String stableId, java.util.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, java.time.LocalDateTime before) throws tigase.db.TigaseDBException- Specified by:
deleteExpiredMessagesin interfaceMessageArchiveRepository<Q extends QueryCriteria,R extends MessageArchiveRepository<Q,tigase.db.DataSource>>- Throws:
tigase.db.TigaseDBException
-
getStableId
public java.lang.String getStableId(tigase.xmpp.jid.BareJID owner, tigase.xmpp.jid.BareJID buddy, java.lang.String stanzaId) throws tigase.db.TigaseDBException- Specified by:
getStableIdin 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,MessageArchiveRepository.Collection> 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, java.lang.String withJid, java.util.Date start, java.util.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 java.util.List<java.lang.String> getTags(tigase.xmpp.jid.BareJID owner, java.lang.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 java.lang.Class<?> getDefaultBeanClass()
- Specified by:
getDefaultBeanClassin interfacetigase.kernel.beans.RegistrarBeanWithDefaultBeanClass
-
findClassForDataSource
protected java.lang.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
-
-