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

      • Fields inherited from class tigase.db.beans.MDRepositoryBean

        aliases, dataSourceSelection
    • 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 released
      protected 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
      • 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
    • Constructor Detail

      • HistoryProviderMDBean

        public HistoryProviderMDBean()
    • Method Detail

      • belongsTo

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

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

        public void setDataSource​(tigase.db.DataSource dataSource)
        Specified by:
        setDataSource in interface tigase.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 interface HistoryProvider
      • addLeaveEvent

        public void addLeaveEvent​(Room room,
                                  java.util.Date date,
                                  tigase.xmpp.jid.JID senderJID,
                                  java.lang.String nickName)
        Specified by:
        addLeaveEvent in interface HistoryProvider
      • 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 interface HistoryProvider
      • 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 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,
                                       java.lang.Integer maxchars,
                                       java.lang.Integer maxstanzas,
                                       java.lang.Integer seconds,
                                       java.util.Date since,
                                       tigase.component.PacketWriter writer)
        Specified by:
        getHistoryMessages 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​(java.lang.String domain)
        Overrides:
        getRepository in class tigase.db.beans.MDRepositoryBeanWithStatistics<HistoryProvider>
      • findClassForDataSource

        protected java.lang.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