Package tigase.mongodb.archive
Class MongoMessageArchiveRepository
- java.lang.Object
-
- tigase.archive.db.AbstractMessageArchiveRepository<tigase.archive.QueryCriteria,MongoDataSource>
-
- tigase.mongodb.archive.MongoMessageArchiveRepository
-
- All Implemented Interfaces:
tigase.archive.db.MessageArchiveRepository<tigase.archive.QueryCriteria,MongoDataSource>
,tigase.db.DataSourceAware<MongoDataSource>
,tigase.db.util.RepositoryVersionAware
,MongoRepositoryVersionAware
,tigase.xmpp.mam.MAMRepository<tigase.archive.QueryCriteria,tigase.xmpp.mam.MAMRepository.Item>
public class MongoMessageArchiveRepository extends tigase.archive.db.AbstractMessageArchiveRepository<tigase.archive.QueryCriteria,MongoDataSource> implements MongoRepositoryVersionAware
- Author:
- andrzej
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
MongoMessageArchiveRepository.Item<Q extends tigase.archive.QueryCriteria>
-
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>
-
-
Constructor Summary
Constructors Constructor Description MongoMessageArchiveRepository()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
archiveMessage(tigase.xmpp.jid.BareJID ownerJid, tigase.xmpp.jid.JID buddyJid, tigase.archive.db.MessageArchiveRepository.Direction direction, java.util.Date timestamp, tigase.xml.Element msg, java.util.Set<java.lang.String> tags)
org.bson.Document
createCriteriaDocument(tigase.archive.QueryCriteria query)
void
deleteExpiredMessages(tigase.xmpp.jid.BareJID owner, java.time.LocalDateTime before)
java.util.List<java.lang.String>
getTags(tigase.xmpp.jid.BareJID owner, java.lang.String startsWith, tigase.archive.QueryCriteria criteria)
tigase.archive.QueryCriteria
newQuery()
void
queryCollections(tigase.archive.QueryCriteria query, tigase.archive.db.MessageArchiveRepository.CollectionHandler<tigase.archive.QueryCriteria> collectionHandler)
void
queryItems(tigase.archive.QueryCriteria query, tigase.xmpp.mam.MAMRepository.ItemHandler<tigase.archive.QueryCriteria,tigase.xmpp.mam.MAMRepository.Item> itemHandler)
void
removeItems(tigase.xmpp.jid.BareJID owner, java.lang.String with, java.util.Date start, java.util.Date end)
void
setDataSource(MongoDataSource dataSource)
tigase.db.util.SchemaLoader.Result
updateSchema(java.util.Optional<tigase.util.Version> oldVersion, tigase.util.Version newVersion)
-
Methods inherited from class tigase.archive.db.AbstractMessageArchiveRepository
calculateOffsetAndPosition, generateHashOfMessage
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface tigase.mongodb.MongoRepositoryVersionAware
getVersion
-
-
-
-
Method Detail
-
archiveMessage
public void archiveMessage(tigase.xmpp.jid.BareJID ownerJid, tigase.xmpp.jid.JID buddyJid, tigase.archive.db.MessageArchiveRepository.Direction direction, java.util.Date timestamp, tigase.xml.Element msg, java.util.Set<java.lang.String> tags)
- Specified by:
archiveMessage
in interfacetigase.archive.db.MessageArchiveRepository<tigase.archive.QueryCriteria,MongoDataSource>
-
createCriteriaDocument
public org.bson.Document createCriteriaDocument(tigase.archive.QueryCriteria query) throws tigase.db.TigaseDBException
- Throws:
tigase.db.TigaseDBException
-
deleteExpiredMessages
public void deleteExpiredMessages(tigase.xmpp.jid.BareJID owner, java.time.LocalDateTime before) throws tigase.db.TigaseDBException
- Specified by:
deleteExpiredMessages
in interfacetigase.archive.db.MessageArchiveRepository<tigase.archive.QueryCriteria,MongoDataSource>
- Throws:
tigase.db.TigaseDBException
-
getTags
public java.util.List<java.lang.String> getTags(tigase.xmpp.jid.BareJID owner, java.lang.String startsWith, tigase.archive.QueryCriteria criteria) throws tigase.db.TigaseDBException
- Specified by:
getTags
in interfacetigase.archive.db.MessageArchiveRepository<tigase.archive.QueryCriteria,MongoDataSource>
- Throws:
tigase.db.TigaseDBException
-
newQuery
public tigase.archive.QueryCriteria newQuery()
- Specified by:
newQuery
in interfacetigase.xmpp.mam.MAMRepository<tigase.archive.QueryCriteria,tigase.xmpp.mam.MAMRepository.Item>
-
queryCollections
public void queryCollections(tigase.archive.QueryCriteria query, tigase.archive.db.MessageArchiveRepository.CollectionHandler<tigase.archive.QueryCriteria> collectionHandler) throws tigase.db.TigaseDBException
- Specified by:
queryCollections
in interfacetigase.archive.db.MessageArchiveRepository<tigase.archive.QueryCriteria,MongoDataSource>
- Throws:
tigase.db.TigaseDBException
-
queryItems
public void queryItems(tigase.archive.QueryCriteria query, tigase.xmpp.mam.MAMRepository.ItemHandler<tigase.archive.QueryCriteria,tigase.xmpp.mam.MAMRepository.Item> itemHandler) throws tigase.db.TigaseDBException
- Specified by:
queryItems
in interfacetigase.xmpp.mam.MAMRepository<tigase.archive.QueryCriteria,tigase.xmpp.mam.MAMRepository.Item>
- Throws:
tigase.db.TigaseDBException
-
removeItems
public void removeItems(tigase.xmpp.jid.BareJID owner, java.lang.String with, java.util.Date start, java.util.Date end) throws tigase.db.TigaseDBException
- Specified by:
removeItems
in interfacetigase.archive.db.MessageArchiveRepository<tigase.archive.QueryCriteria,MongoDataSource>
- Throws:
tigase.db.TigaseDBException
-
setDataSource
public void setDataSource(MongoDataSource dataSource)
- Specified by:
setDataSource
in interfacetigase.db.DataSourceAware<MongoDataSource>
-
updateSchema
public tigase.db.util.SchemaLoader.Result updateSchema(java.util.Optional<tigase.util.Version> oldVersion, tigase.util.Version newVersion) throws tigase.db.TigaseDBException
- Specified by:
updateSchema
in interfacetigase.db.util.RepositoryVersionAware
- Throws:
tigase.db.TigaseDBException
-
-