Package tigase.archive.db
Class AbstractMessageArchiveRepository<Q extends Query,DS extends tigase.db.DataSource,ADP extends AbstractMessageArchiveRepository.AddMessageAdditionalDataProvider>
- java.lang.Object
-
- tigase.archive.db.AbstractMessageArchiveRepository<Q,DS,ADP>
-
- All Implemented Interfaces:
MessageArchiveRepository<Q,DS>,tigase.db.DataSourceAware<DS>,tigase.xmpp.mam.MAMRepository<Q,tigase.xmpp.mam.MAMRepository.Item>
- Direct Known Subclasses:
JDBCMessageArchiveRepository
public abstract class AbstractMessageArchiveRepository<Q extends Query,DS extends tigase.db.DataSource,ADP extends AbstractMessageArchiveRepository.AddMessageAdditionalDataProvider> extends java.lang.Object implements MessageArchiveRepository<Q,DS>
AbstractMessageArchiveRepository contains methods commonly used by other implementations to eliminate code multiplication.- Author:
- andrzej
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceAbstractMessageArchiveRepository.AddMessageAdditionalDataProvider-
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 Modifier and Type Field Description protected static java.lang.String[]MSG_BODY_PATHprotected static java.lang.String[]MSG_SUBJECT_PATH
-
Constructor Summary
Constructors Constructor Description AbstractMessageArchiveRepository()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract voidarchiveMessage(tigase.xmpp.jid.BareJID owner, tigase.xmpp.jid.BareJID buddy, java.util.Date timestamp, tigase.xml.Element msg, java.lang.String stableId, java.lang.String stanzaId, java.lang.String refStableId, java.util.Set<java.lang.String> tags, ADP additionParametersProvider)protected voidarchiveMessage(tigase.xmpp.jid.BareJID owner, tigase.xmpp.jid.BareJID buddy, java.util.Date timestamp, tigase.xml.Element msg, java.lang.String stableId, java.util.Set<java.lang.String> tags, ADP additionParametersProvider)protected voidcalculateOffsetAndPosition(Q query, int count, java.lang.Integer before, java.lang.Integer after)protected voidcalculateOffsetAndPosition(tigase.xmpp.rsm.RSM rsm, int count, java.lang.Integer before, java.lang.Integer after)protected java.lang.StringextractOriginId(tigase.xml.Element msg)protected java.lang.StringfindRefStableId(tigase.xmpp.jid.BareJID owner, tigase.xmpp.jid.BareJID buddy, java.lang.String refOriginId)-
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
archiveMessage, deleteExpiredMessages, destroy, getStableId, getTags, queryCollections, removeItems
-
-
-
-
Method Detail
-
calculateOffsetAndPosition
protected void calculateOffsetAndPosition(Q query, int count, java.lang.Integer before, java.lang.Integer after)
-
calculateOffsetAndPosition
protected void calculateOffsetAndPosition(tigase.xmpp.rsm.RSM rsm, int count, java.lang.Integer before, java.lang.Integer after)
-
extractOriginId
protected java.lang.String extractOriginId(tigase.xml.Element msg)
-
findRefStableId
protected java.lang.String findRefStableId(tigase.xmpp.jid.BareJID owner, tigase.xmpp.jid.BareJID buddy, java.lang.String refOriginId)
-
archiveMessage
protected void archiveMessage(tigase.xmpp.jid.BareJID owner, tigase.xmpp.jid.BareJID buddy, java.util.Date timestamp, tigase.xml.Element msg, java.lang.String stableId, java.util.Set<java.lang.String> tags, ADP additionParametersProvider)
-
archiveMessage
protected abstract void archiveMessage(tigase.xmpp.jid.BareJID owner, tigase.xmpp.jid.BareJID buddy, java.util.Date timestamp, tigase.xml.Element msg, java.lang.String stableId, java.lang.String stanzaId, java.lang.String refStableId, java.util.Set<java.lang.String> tags, ADP additionParametersProvider)
-
-