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 ClassesModifier and TypeClassDescriptionstatic classNested classes/interfaces inherited from class tigase.db.beans.MDRepositoryBean
tigase.db.beans.MDRepositoryBean.MDRepositoryConfigBean<A extends tigase.db.DataSourceAware>, tigase.db.beans.MDRepositoryBean.SelectorTypeNested 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 -
Field Summary
Fields inherited from class tigase.db.beans.MDRepositoryBean
aliases, dataSourceSelection -
Constructor Summary
ConstructorsConstructorDescriptionMessageArchiveRepositoryPool(Class<? extends MessageArchiveRepository>... classess) -
Method Summary
Modifier and TypeMethodDescriptionvoidarchiveMessage(tigase.xmpp.jid.BareJID owner, tigase.xmpp.jid.JID buddy, Date timestamp, tigase.xml.Element msg, String stableId, Set tags) booleanvoiddeleteExpiredMessages(tigase.xmpp.jid.BareJID owner, LocalDateTime before) protected ClassfindClassForDataSource(tigase.db.DataSource dataSource) Class<?>getStableId(tigase.xmpp.jid.BareJID owner, tigase.xmpp.jid.BareJID buddy, String stanzaId) newQuery()newQuery(tigase.xmpp.jid.BareJID jid) 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, 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, wrapInProxyMethods inherited from class tigase.db.beans.MDRepositoryBean
beforeUnregister, getName, initialize, initializeRepository, onDataSourceChange, register, registerIfNotExists, repositoriesStream, setDataSourceBean, unregisterMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface tigase.archive.db.MessageArchiveRepository
destroy
-
Constructor Details
-
MessageArchiveRepositoryPool
public MessageArchiveRepositoryPool() -
MessageArchiveRepositoryPool
-
-
Method Details
-
belongsTo
- Specified by:
belongsToin interfacetigase.stats.ComponentStatisticsProvider
-
archiveMessage
public void archiveMessage(tigase.xmpp.jid.BareJID owner, tigase.xmpp.jid.JID buddy, Date timestamp, tigase.xml.Element msg, String stableId, 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
-
getStableId
public String getStableId(tigase.xmpp.jid.BareJID owner, tigase.xmpp.jid.BareJID buddy, 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
- Specified by:
newQueryin interfacetigase.xmpp.mam.MAMRepository<Q extends QueryCriteria,R extends MessageArchiveRepository<Q, tigase.db.DataSource>>
-
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, 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
- 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
-