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 interface
AbstractMessageArchiveRepository.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_PATH
protected 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 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)
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)
protected void
calculateOffsetAndPosition(Q query, int count, java.lang.Integer before, java.lang.Integer after)
protected void
calculateOffsetAndPosition(tigase.xmpp.rsm.RSM rsm, int count, java.lang.Integer before, java.lang.Integer after)
protected java.lang.String
extractOriginId(tigase.xml.Element msg)
protected java.lang.String
findRefStableId(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)
-
-