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, 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.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
     

    Nested classes/interfaces inherited from class tigase.db.beans.MDRepositoryBean

    tigase.db.beans.MDRepositoryBean.MDRepositoryConfigBean<A extends tigase.db.DataSourceAware>, tigase.db.beans.MDRepositoryBean.SelectorType

    Nested classes/interfaces inherited from interface tigase.muc.history.ExtendedMAMRepository

    ExtendedMAMRepository.Item

    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>
  • Field Summary

    Fields inherited from class tigase.db.beans.MDRepositoryBean

    aliases, dataSourceSelection
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    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)
     
    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.
    boolean
    belongsTo(Class<? extends tigase.server.BasicComponent> component)
     
    void
    Destroys this instance of HistoryProvider releasing all resources allocated but this provider if they should be released
    protected Class<? extends HistoryProvider>
    findClassForDataSource(tigase.db.DataSource dataSource)
     
     
    void
    getHistoryMessages(Room room, tigase.xmpp.jid.JID senderJID, Integer maxchars, Integer maxstanzas, Integer seconds, Date since, tigase.component.PacketWriter writer)
     
    getItem(tigase.xmpp.jid.BareJID owner, String stableId)
     
    protected HistoryProvider
     
    protected HistoryProvider
     
    boolean
     
    tigase.xmpp.mam.Query
     
    void
    queryItems(tigase.xmpp.mam.Query query, tigase.xmpp.mam.MAMRepository.ItemHandler itemHandler)
     
    void
     
    void
    setDataSource(tigase.db.DataSource dataSource)
     
    void
    updateMessage(tigase.xmpp.jid.BareJID owner, String stableId, tigase.xml.Element msg, String body)
     

    Methods inherited from class tigase.db.beans.MDRepositoryBeanWithStatistics

    everyHour, everyMinute, everySecond, getRepositories, getStatistics, setStatisticsEnabled, updateDataSourceAware, wrapInProxy

    Methods inherited from class tigase.db.beans.MDRepositoryBean

    beforeUnregister, getName, initialize, initializeRepository, onDataSourceChange, register, registerIfNotExists, repositoriesStream, setDataSourceBean, unregister

    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
  • 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