Package tigase.muc.history
Class JDBCHistoryProvider
java.lang.Object
tigase.muc.history.AbstractHistoryProvider<tigase.db.DataRepository>
tigase.muc.history.JDBCHistoryProvider
- All Implemented Interfaces:
tigase.db.DataSourceAware<tigase.db.DataRepository>
,tigase.db.util.RepositoryVersionAware
,ExtendedMAMRepository
,HistoryProvider<tigase.db.DataRepository>
,tigase.xmpp.mam.MAMRepository
public class JDBCHistoryProvider
extends AbstractHistoryProvider<tigase.db.DataRepository>
implements HistoryProvider<tigase.db.DataRepository>, ExtendedMAMRepository, tigase.db.util.RepositoryVersionAware
Created by andrzej on 17.10.2016.
-
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
Fields inherited from class tigase.muc.history.AbstractHistoryProvider
parser
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addJoinEvent
(Room room, Date date, tigase.xmpp.jid.JID senderJID, String nickName) Adds join event.void
addLeaveEvent
(Room room, Date date, tigase.xmpp.jid.JID senderJID, String nickName) void
addMessage
(Room room, tigase.xml.Element message, String body, tigase.xmpp.jid.JID senderJid, String senderNickname, Date time) Deprecated.void
addMessage
(Room room, tigase.xml.Element message, String body, tigase.xmpp.jid.JID senderJid, String senderNickname, Date time, String stableId) void
addSubjectChange
(Room room, tigase.xml.Element message, String subject, tigase.xmpp.jid.JID senderJid, String senderNickname, Date time) Adds subject changes to log/history.void
destroy()
Destroys this instance of HistoryProvider releasing all resources allocated but this provider if they should be releasedvoid
getHistoryMessages
(Room room, tigase.xmpp.jid.JID senderJID, Integer maxchars, Integer maxstanzas, Integer seconds, Date since, tigase.component.PacketWriter writer) tigase.xmpp.mam.MAMRepository.Item
protected void
getMessagesSince
(Room room, tigase.xmpp.jid.JID senderJID, int maxMessages, Timestamp since, tigase.component.PacketWriter writer) protected void
initPreparedStatements
(tigase.db.DataRepository repo) boolean
isPersistent
(Room room) tigase.xmpp.mam.Query
newQuery()
protected void
processResultSet
(Room room, tigase.xmpp.jid.JID senderJID, tigase.component.PacketWriter writer, ResultSet rs) void
queryItems
(tigase.xmpp.mam.Query query, tigase.xmpp.mam.MAMRepository.ItemHandler itemHandler) void
removeHistory
(Room room) void
setDataSource
(tigase.db.DataRepository dataSource) void
updateMessage
(tigase.xmpp.jid.BareJID owner, String stableId, tigase.xml.Element msg, String body) Methods inherited from class tigase.muc.history.AbstractHistoryProvider
calculateOffsetAndPosition, createMessage, createMessage, createMessageElement, isAllowedToSeeJIDs, parseMessage
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface tigase.xmpp.mam.MAMRepository
newQuery
Methods inherited from interface tigase.db.util.RepositoryVersionAware
getVersion, updateSchema
-
Field Details
-
data_repo
protected tigase.db.DataRepository data_repo
-
-
Constructor Details
-
JDBCHistoryProvider
public JDBCHistoryProvider()
-
-
Method Details
-
addJoinEvent
Description copied from interface:HistoryProvider
Adds join event.- Specified by:
addJoinEvent
in interfaceHistoryProvider<tigase.db.DataRepository>
-
addLeaveEvent
- Specified by:
addLeaveEvent
in interfaceHistoryProvider<tigase.db.DataRepository>
-
addMessage
@Deprecated public void addMessage(Room room, tigase.xml.Element message, String body, tigase.xmpp.jid.JID senderJid, String senderNickname, Date time) Deprecated.- Specified by:
addMessage
in interfaceHistoryProvider<tigase.db.DataRepository>
-
addMessage
public void addMessage(Room room, tigase.xml.Element message, String body, tigase.xmpp.jid.JID senderJid, String senderNickname, Date time, String stableId) - Specified by:
addMessage
in interfaceHistoryProvider<tigase.db.DataRepository>
-
addSubjectChange
public void addSubjectChange(Room room, tigase.xml.Element message, String subject, tigase.xmpp.jid.JID senderJid, String senderNickname, Date time) Description copied from interface:HistoryProvider
Adds subject changes to log/history.- Specified by:
addSubjectChange
in interfaceHistoryProvider<tigase.db.DataRepository>
-
destroy
public void destroy()Description copied from interface:HistoryProvider
Destroys this instance of HistoryProvider releasing all resources allocated but this provider if they should be released- Specified by:
destroy
in interfaceHistoryProvider<tigase.db.DataRepository>
-
getHistoryMessages
public void getHistoryMessages(Room room, tigase.xmpp.jid.JID senderJID, Integer maxchars, Integer maxstanzas, Integer seconds, Date since, tigase.component.PacketWriter writer) - Specified by:
getHistoryMessages
in interfaceHistoryProvider<tigase.db.DataRepository>
-
getItem
public tigase.xmpp.mam.MAMRepository.Item getItem(tigase.xmpp.jid.BareJID owner, String stableId) throws tigase.db.TigaseDBException - Specified by:
getItem
in interfaceExtendedMAMRepository
- Throws:
tigase.db.TigaseDBException
-
updateMessage
public void updateMessage(tigase.xmpp.jid.BareJID owner, String stableId, tigase.xml.Element msg, String body) throws tigase.db.TigaseDBException - Specified by:
updateMessage
in interfaceExtendedMAMRepository
- Throws:
tigase.db.TigaseDBException
-
isPersistent
- Specified by:
isPersistent
in interfaceHistoryProvider<tigase.db.DataRepository>
-
removeHistory
- Specified by:
removeHistory
in interfaceHistoryProvider<tigase.db.DataRepository>
-
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:
queryItems
in interfacetigase.xmpp.mam.MAMRepository
- Throws:
tigase.db.TigaseDBException
tigase.component.exceptions.ComponentException
-
newQuery
public tigase.xmpp.mam.Query newQuery()- Specified by:
newQuery
in interfacetigase.xmpp.mam.MAMRepository
-
setDataSource
public void setDataSource(tigase.db.DataRepository dataSource) - Specified by:
setDataSource
in interfacetigase.db.DataSourceAware<tigase.db.DataRepository>
-
getMessagesSince
protected void getMessagesSince(Room room, tigase.xmpp.jid.JID senderJID, int maxMessages, Timestamp since, tigase.component.PacketWriter writer) throws SQLException, tigase.util.stringprep.TigaseStringprepException - Throws:
SQLException
tigase.util.stringprep.TigaseStringprepException
-
processResultSet
protected void processResultSet(Room room, tigase.xmpp.jid.JID senderJID, tigase.component.PacketWriter writer, ResultSet rs) throws SQLException, tigase.util.stringprep.TigaseStringprepException - Throws:
SQLException
tigase.util.stringprep.TigaseStringprepException
-
initPreparedStatements
- Throws:
SQLException
-