Class HistoryProviderMDBean

java.lang.Object
tigase.db.beans.MDRepositoryBean<HistoryProvider>
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, ExtendedMAMRepository, 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, ExtendedMAMRepository
Created by andrzej on 25.08.2016.
  • Constructor Details

    • HistoryProviderMDBean

      public HistoryProviderMDBean()
  • Method Details

    • belongsTo

      public boolean belongsTo(Class<? extends tigase.server.BasicComponent> component)
      Specified by:
      belongsTo in interface tigase.stats.ComponentStatisticsProvider
    • getDefaultBeanClass

      public Class<?> getDefaultBeanClass()
      Specified by:
      getDefaultBeanClass in interface tigase.kernel.beans.RegistrarBeanWithDefaultBeanClass
    • getItem

      public ExtendedMAMRepository.Item getItem(tigase.xmpp.jid.BareJID owner, String stableId) throws tigase.component.exceptions.RepositoryException
      Specified by:
      getItem in interface ExtendedMAMRepository
      Throws:
      tigase.component.exceptions.RepositoryException
    • updateMessage

      public void updateMessage(tigase.xmpp.jid.BareJID owner, String stableId, tigase.xml.Element msg, String body) throws tigase.component.exceptions.RepositoryException
      Specified by:
      updateMessage in interface ExtendedMAMRepository
      Throws:
      tigase.component.exceptions.RepositoryException
    • setDataSource

      public void setDataSource(tigase.db.DataSource dataSource)
      Specified by:
      setDataSource in interface tigase.db.DataSourceAware
    • addJoinEvent

      public void addJoinEvent(Room room, Date date, tigase.xmpp.jid.JID senderJID, String nickName)
      Description copied from interface: HistoryProvider
      Adds join event.
      Specified by:
      addJoinEvent in interface HistoryProvider
    • addLeaveEvent

      public void addLeaveEvent(Room room, Date date, tigase.xmpp.jid.JID senderJID, String nickName)
      Specified by:
      addLeaveEvent in interface HistoryProvider
    • 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 interface HistoryProvider
    • addMessage

      public void addMessage(Room room, tigase.xml.Element message, String body, tigase.xmpp.jid.JID senderJid, String senderNickname, Date time)
      Specified by:
      addMessage in interface HistoryProvider
    • 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 interface HistoryProvider
    • 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 interface HistoryProvider
    • 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 interface HistoryProvider
    • isPersistent

      public boolean isPersistent(Room room)
      Specified by:
      isPersistent in interface HistoryProvider
    • removeHistory

      public void removeHistory(Room room)
      Specified by:
      removeHistory in interface HistoryProvider
    • 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 interface tigase.xmpp.mam.MAMRepository
      Throws:
      tigase.component.exceptions.RepositoryException
      tigase.component.exceptions.ComponentException
    • newQuery

      public tigase.xmpp.mam.Query newQuery()
      Specified by:
      newQuery in interface tigase.xmpp.mam.MAMRepository
    • getRepository

      protected HistoryProvider getRepository(Room room)
    • getRepository

      protected HistoryProvider getRepository(String domain)
      Overrides:
      getRepository in class tigase.db.beans.MDRepositoryBeanWithStatistics<HistoryProvider>
    • findClassForDataSource

      protected Class<? extends HistoryProvider> findClassForDataSource(tigase.db.DataSource dataSource) throws tigase.db.DBInitException
      Specified by:
      findClassForDataSource in class tigase.db.beans.MDRepositoryBean<HistoryProvider>
      Throws:
      tigase.db.DBInitException