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
Modifier and TypeClassDescriptionstatic class
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 -
Field Summary
Fields inherited from class tigase.db.beans.MDRepositoryBean
aliases, dataSourceSelection
-
Constructor Summary
ConstructorDescriptionMessageArchiveRepositoryPool
(Class<? extends MessageArchiveRepository>... classess) -
Method Summary
Modifier and TypeMethodDescriptionvoid
archiveMessage
(tigase.xmpp.jid.BareJID owner, tigase.xmpp.jid.JID buddy, Date timestamp, tigase.xml.Element msg, String stableId, Set tags) boolean
void
deleteExpiredMessages
(tigase.xmpp.jid.BareJID owner, LocalDateTime before) protected Class
findClassForDataSource
(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) void
queryCollections
(Q query, MessageArchiveRepository.CollectionHandler<Q, MessageArchiveRepository.Collection> collectionHandler) void
queryItems
(Q query, tigase.xmpp.mam.MAMRepository.ItemHandler<Q, tigase.xmpp.mam.MAMRepository.Item> itemHandler) void
removeItems
(tigase.xmpp.jid.BareJID owner, String withJid, Date start, 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
Methods inherited from interface tigase.archive.db.MessageArchiveRepository
destroy
-
Constructor Details
-
MessageArchiveRepositoryPool
public MessageArchiveRepositoryPool() -
MessageArchiveRepositoryPool
-
-
Method Details
-
belongsTo
- Specified by:
belongsTo
in 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:
archiveMessage
in 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:
deleteExpiredMessages
in 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:
getStableId
in interfaceMessageArchiveRepository<Q extends QueryCriteria,
R extends MessageArchiveRepository<Q, tigase.db.DataSource>> - Throws:
tigase.db.TigaseDBException
-
newQuery
- Specified by:
newQuery
in interfacetigase.xmpp.mam.MAMRepository<Q extends QueryCriteria,
R extends MessageArchiveRepository<Q, tigase.db.DataSource>>
-
newQuery
- Specified by:
newQuery
in 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:
queryCollections
in 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:
queryItems
in interfacetigase.xmpp.mam.MAMRepository<Q extends QueryCriteria,
R extends MessageArchiveRepository<Q, tigase.db.DataSource>> - Throws:
tigase.component.exceptions.RepositoryException
tigase.component.exceptions.ComponentException
-
removeItems
public void removeItems(tigase.xmpp.jid.BareJID owner, String withJid, Date start, Date end) throws tigase.db.TigaseDBException - Specified by:
removeItems
in 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:
getTags
in 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:
setDataSource
in interfacetigase.db.DataSourceAware<Q extends QueryCriteria>
-
getDefaultBeanClass
- Specified by:
getDefaultBeanClass
in interfacetigase.kernel.beans.RegistrarBeanWithDefaultBeanClass
-
findClassForDataSource
protected Class findClassForDataSource(tigase.db.DataSource dataSource) throws tigase.db.DBInitException - Specified by:
findClassForDataSource
in classtigase.db.beans.MDRepositoryBean<R extends MessageArchiveRepository<Q,
tigase.db.DataSource>> - Throws:
tigase.db.DBInitException
-