Package tigase.muc.history
Class HistoryProviderMDBean
- java.lang.Object
-
- tigase.db.beans.MDRepositoryBean<T>
-
- tigase.db.beans.MDRepositoryBeanWithStatistics<HistoryProvider>
-
- tigase.muc.history.HistoryProviderMDBean
-
- All Implemented Interfaces:
tigase.db.DataSourceAware
,tigase.kernel.beans.Initializable
,tigase.kernel.beans.RegistrarBean
,tigase.kernel.beans.RegistrarBeanWithDefaultBeanClass
,tigase.kernel.beans.UnregisterAware
,HistoryProvider
,tigase.stats.ComponentStatisticsProvider
,tigase.stats.StatisticsProviderIfc
,tigase.xmpp.mam.MAMRepository
@Bean(name="historyProviderPool", parent=MUCComponent.class, active=true) public class HistoryProviderMDBean extends tigase.db.beans.MDRepositoryBeanWithStatistics<HistoryProvider> implements HistoryProvider, tigase.xmpp.mam.MAMRepository
Created by andrzej on 25.08.2016.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
HistoryProviderMDBean.HistoryProviderConfigBean
-
Constructor Summary
Constructors Constructor Description HistoryProviderMDBean()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addJoinEvent(Room room, java.util.Date date, tigase.xmpp.jid.JID senderJID, java.lang.String nickName)
Adds join event.void
addLeaveEvent(Room room, java.util.Date date, tigase.xmpp.jid.JID senderJID, java.lang.String nickName)
void
addMessage(Room room, tigase.xml.Element message, java.lang.String body, tigase.xmpp.jid.JID senderJid, java.lang.String senderNickname, java.util.Date time)
void
addSubjectChange(Room room, tigase.xml.Element message, java.lang.String subject, tigase.xmpp.jid.JID senderJid, java.lang.String senderNickname, java.util.Date time)
Adds subject changes to log/history.boolean
belongsTo(java.lang.Class<? extends tigase.server.BasicComponent> component)
void
destroy()
Destroys this instance of HistoryProvider releasing all resources allocated but this provider if they should be releasedprotected java.lang.Class<? extends HistoryProvider>
findClassForDataSource(tigase.db.DataSource dataSource)
java.lang.Class<?>
getDefaultBeanClass()
void
getHistoryMessages(Room room, tigase.xmpp.jid.JID senderJID, java.lang.Integer maxchars, java.lang.Integer maxstanzas, java.lang.Integer seconds, java.util.Date since, tigase.component.PacketWriter writer)
protected HistoryProvider
getRepository(java.lang.String domain)
protected HistoryProvider
getRepository(Room room)
boolean
isPersistent(Room room)
tigase.xmpp.mam.Query
newQuery()
void
queryItems(tigase.xmpp.mam.Query query, tigase.xmpp.mam.MAMRepository.ItemHandler itemHandler)
void
removeHistory(Room room)
void
setDataSource(tigase.db.DataSource dataSource)
-
Methods inherited from class tigase.db.beans.MDRepositoryBeanWithStatistics
everyHour, everyMinute, everySecond, getRepositories, getStatistics, setStatisticsEnabled, updateDataSourceAware, wrapInProxy
-
-
-
-
Method Detail
-
belongsTo
public boolean belongsTo(java.lang.Class<? extends tigase.server.BasicComponent> component)
- Specified by:
belongsTo
in interfacetigase.stats.ComponentStatisticsProvider
-
getDefaultBeanClass
public java.lang.Class<?> getDefaultBeanClass()
- Specified by:
getDefaultBeanClass
in interfacetigase.kernel.beans.RegistrarBeanWithDefaultBeanClass
-
setDataSource
public void setDataSource(tigase.db.DataSource dataSource)
- Specified by:
setDataSource
in interfacetigase.db.DataSourceAware
-
addJoinEvent
public void addJoinEvent(Room room, java.util.Date date, tigase.xmpp.jid.JID senderJID, java.lang.String nickName)
Description copied from interface:HistoryProvider
Adds join event.- Specified by:
addJoinEvent
in interfaceHistoryProvider
-
addLeaveEvent
public void addLeaveEvent(Room room, java.util.Date date, tigase.xmpp.jid.JID senderJID, java.lang.String nickName)
- Specified by:
addLeaveEvent
in interfaceHistoryProvider
-
addMessage
public void addMessage(Room room, tigase.xml.Element message, java.lang.String body, tigase.xmpp.jid.JID senderJid, java.lang.String senderNickname, java.util.Date time)
- Specified by:
addMessage
in interfaceHistoryProvider
-
addSubjectChange
public void addSubjectChange(Room room, tigase.xml.Element message, java.lang.String subject, tigase.xmpp.jid.JID senderJid, java.lang.String senderNickname, java.util.Date time)
Description copied from interface:HistoryProvider
Adds subject changes to log/history.- Specified by:
addSubjectChange
in interfaceHistoryProvider
-
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
-
getHistoryMessages
public void getHistoryMessages(Room room, tigase.xmpp.jid.JID senderJID, java.lang.Integer maxchars, java.lang.Integer maxstanzas, java.lang.Integer seconds, java.util.Date since, tigase.component.PacketWriter writer)
- Specified by:
getHistoryMessages
in interfaceHistoryProvider
-
isPersistent
public boolean isPersistent(Room room)
- Specified by:
isPersistent
in interfaceHistoryProvider
-
removeHistory
public void removeHistory(Room room)
- Specified by:
removeHistory
in interfaceHistoryProvider
-
queryItems
public void queryItems(tigase.xmpp.mam.Query query, tigase.xmpp.mam.MAMRepository.ItemHandler itemHandler) throws tigase.component.exceptions.RepositoryException, tigase.component.exceptions.ComponentException
- Specified by:
queryItems
in interfacetigase.xmpp.mam.MAMRepository
- Throws:
tigase.component.exceptions.RepositoryException
tigase.component.exceptions.ComponentException
-
newQuery
public tigase.xmpp.mam.Query newQuery()
- Specified by:
newQuery
in interfacetigase.xmpp.mam.MAMRepository
-
getRepository
protected HistoryProvider getRepository(Room room)
-
getRepository
protected HistoryProvider getRepository(java.lang.String domain)
- Overrides:
getRepository
in classtigase.db.beans.MDRepositoryBeanWithStatistics<HistoryProvider>
-
findClassForDataSource
protected java.lang.Class<? extends HistoryProvider> findClassForDataSource(tigase.db.DataSource dataSource) throws tigase.db.DBInitException
- Specified by:
findClassForDataSource
in classtigase.db.beans.MDRepositoryBean<HistoryProvider>
- Throws:
tigase.db.DBInitException
-
-