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 class
MessageArchiveRepositoryPool.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 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)
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.lang.String
getStableId(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)
Q
newQuery()
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, 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
-
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:
belongsTo
in 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:
archiveMessage
in 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:
deleteExpiredMessages
in 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:
getStableId
in interfaceMessageArchiveRepository<Q extends QueryCriteria,R extends MessageArchiveRepository<Q,tigase.db.DataSource>>
- Throws:
tigase.db.TigaseDBException
-
newQuery
public Q 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, java.lang.String withJid, java.util.Date start, java.util.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 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 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
public java.lang.Class<?> getDefaultBeanClass()
- Specified by:
getDefaultBeanClass
in interfacetigase.kernel.beans.RegistrarBeanWithDefaultBeanClass
-
findClassForDataSource
protected java.lang.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
-
-