Package tigase.mongodb.muc
Class MongoHistoryProvider
java.lang.Object
tigase.muc.history.AbstractHistoryProvider<MongoDataSource>
tigase.mongodb.muc.MongoHistoryProvider
- All Implemented Interfaces:
tigase.db.DataSourceAware<MongoDataSource>,tigase.db.util.RepositoryVersionAware,MongoRepositoryVersionAware,tigase.muc.history.HistoryProvider<MongoDataSource>,tigase.xmpp.mam.MAMRepository
public class MongoHistoryProvider
extends tigase.muc.history.AbstractHistoryProvider<MongoDataSource>
implements MongoRepositoryVersionAware, tigase.xmpp.mam.MAMRepository
- Author:
- andrzej
-
Nested Class Summary
Nested classes/interfaces inherited from interface tigase.xmpp.mam.MAMRepository
tigase.xmpp.mam.MAMRepository.Item, 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.db.util.RepositoryVersionAware
tigase.db.util.RepositoryVersionAware.SchemaVersion -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected com.mongodb.client.MongoCollection<org.bson.Document>Fields inherited from class tigase.muc.history.AbstractHistoryProvider
log, parser -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddJoinEvent(tigase.muc.Room room, Date date, tigase.xmpp.jid.JID senderJID, String nickName) voidaddLeaveEvent(tigase.muc.Room room, Date date, tigase.xmpp.jid.JID senderJID, String nickName) voidaddMessage(tigase.muc.Room room, tigase.xml.Element message, String body, tigase.xmpp.jid.JID senderJid, String senderNickname, Date time) voidaddSubjectChange(tigase.muc.Room room, tigase.xml.Element message, String subject, tigase.xmpp.jid.JID senderJid, String senderNickname, Date time) protected byte[]calculateHash(String user) voiddestroy()protected byte[]generateId(tigase.xmpp.jid.BareJID user) voidgetHistoryMessages(tigase.muc.Room room, tigase.xmpp.jid.JID senderJID, Integer maxchars, Integer maxstanzas, Integer seconds, Date since, tigase.component.PacketWriter writer) booleanisPersistent(tigase.muc.Room room) tigase.xmpp.mam.QuerynewQuery()voidqueryItems(tigase.xmpp.mam.Query query, tigase.xmpp.mam.MAMRepository.ItemHandler itemHandler) voidremoveHistory(tigase.muc.Room room) voidsetDataSource(MongoDataSource dataSource) tigase.db.util.SchemaLoader.ResultupdateSchema(Optional<tigase.util.Version> oldVersion, tigase.util.Version newVersion) Methods inherited from class tigase.muc.history.AbstractHistoryProvider
calculateOffsetAndPosition, createMessage, createMessageElementMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface tigase.xmpp.mam.MAMRepository
newQueryMethods inherited from interface tigase.mongodb.MongoRepositoryVersionAware
getVersion
-
Field Details
-
historyCollection
protected com.mongodb.client.MongoCollection<org.bson.Document> historyCollection
-
-
Constructor Details
-
MongoHistoryProvider
public MongoHistoryProvider()
-
-
Method Details
-
addJoinEvent
public void addJoinEvent(tigase.muc.Room room, Date date, tigase.xmpp.jid.JID senderJID, String nickName) - Specified by:
addJoinEventin interfacetigase.muc.history.HistoryProvider<MongoDataSource>
-
addLeaveEvent
public void addLeaveEvent(tigase.muc.Room room, Date date, tigase.xmpp.jid.JID senderJID, String nickName) - Specified by:
addLeaveEventin interfacetigase.muc.history.HistoryProvider<MongoDataSource>
-
addMessage
public void addMessage(tigase.muc.Room room, tigase.xml.Element message, String body, tigase.xmpp.jid.JID senderJid, String senderNickname, Date time) - Specified by:
addMessagein interfacetigase.muc.history.HistoryProvider<MongoDataSource>
-
addSubjectChange
public void addSubjectChange(tigase.muc.Room room, tigase.xml.Element message, String subject, tigase.xmpp.jid.JID senderJid, String senderNickname, Date time) - Specified by:
addSubjectChangein interfacetigase.muc.history.HistoryProvider<MongoDataSource>
-
calculateHash
- Throws:
tigase.db.TigaseDBException
-
destroy
public void destroy()- Specified by:
destroyin interfacetigase.muc.history.HistoryProvider<MongoDataSource>
-
generateId
protected byte[] generateId(tigase.xmpp.jid.BareJID user) throws tigase.db.TigaseDBException - Throws:
tigase.db.TigaseDBException
-
getHistoryMessages
public void getHistoryMessages(tigase.muc.Room room, tigase.xmpp.jid.JID senderJID, Integer maxchars, Integer maxstanzas, Integer seconds, Date since, tigase.component.PacketWriter writer) - Specified by:
getHistoryMessagesin interfacetigase.muc.history.HistoryProvider<MongoDataSource>
-
isPersistent
public boolean isPersistent(tigase.muc.Room room) - Specified by:
isPersistentin interfacetigase.muc.history.HistoryProvider<MongoDataSource>
-
newQuery
public tigase.xmpp.mam.Query newQuery()- Specified by:
newQueryin interfacetigase.xmpp.mam.MAMRepository
-
queryItems
public void queryItems(tigase.xmpp.mam.Query query, tigase.xmpp.mam.MAMRepository.ItemHandler itemHandler) throws tigase.db.TigaseDBException, tigase.component.exceptions.ComponentException - Specified by:
queryItemsin interfacetigase.xmpp.mam.MAMRepository- Throws:
tigase.db.TigaseDBExceptiontigase.component.exceptions.ComponentException
-
removeHistory
public void removeHistory(tigase.muc.Room room) - Specified by:
removeHistoryin interfacetigase.muc.history.HistoryProvider<MongoDataSource>
-
setDataSource
- Specified by:
setDataSourcein interfacetigase.db.DataSourceAware<MongoDataSource>
-
updateSchema
public tigase.db.util.SchemaLoader.Result updateSchema(Optional<tigase.util.Version> oldVersion, tigase.util.Version newVersion) throws tigase.db.TigaseDBException - Specified by:
updateSchemain interfacetigase.db.util.RepositoryVersionAware- Throws:
tigase.db.TigaseDBException
-