Class MsgRepository<T,S extends DataSource>

java.lang.Object
tigase.server.amp.db.MsgRepository<T,S>
All Implemented Interfaces:
DataSourceAware<S>, MsgRepositoryIfc<S>, OfflineMsgRepositoryIfc, Repository
Direct Known Subclasses:
JDBCMsgRepository, XMLMsgRepository

public abstract class MsgRepository<T,S extends DataSource> extends Object implements MsgRepositoryIfc<S>
Author:
andrzej
  • Field Details

  • Constructor Details

    • MsgRepository

      public MsgRepository()
  • Method Details

    • getInstance

      public static MsgRepositoryIfc getInstance(String cls, String id_string) throws TigaseDBException
      Throws:
      TigaseDBException
    • loadMessagesToJID

      public abstract Queue<tigase.xml.Element> loadMessagesToJID(List<String> db_ids, XMPPResourceConnection session, boolean delete, MsgRepository.OfflineMessagesProcessor proc) throws UserNotFoundException
      Specified by:
      loadMessagesToJID in interface MsgRepositoryIfc<T>
      Throws:
      UserNotFoundException
    • deleteMessagesToJID

      public abstract int deleteMessagesToJID(List<String> db_ids, XMPPResourceConnection session) throws UserNotFoundException
      Specified by:
      deleteMessagesToJID in interface MsgRepositoryIfc<T>
      Throws:
      UserNotFoundException
    • initRepository

      @Deprecated public void initRepository(String conn_str, Map<String,String> map) throws DBInitException
      Deprecated.
      Description copied from interface: Repository
      Method is deprecated and should not be user any more.
      The method is called to initialize the data repository. Depending on the implementation all the initialization parameters can be passed either via resource_uri parameter as the database connection string or via params map if the required repository parameters are more complex or both.
      Specified by:
      initRepository in interface Repository
      Parameters:
      conn_str - value in most cases representing the database connection string.
      map - is a Map with repository properties necessary to initialize and perform all the functions. The initialization parameters are implementation dependent.
      Throws:
      DBInitException - if there was an error during repository initialization. Some implementations, though, perform so called lazy initialization so even though there is a problem with the underlying repository it may not be signaled through this method call.
    • getMessageExpired

      @Deprecated public tigase.xml.Element getMessageExpired(long time, boolean delete)
      Deprecated.
      Description copied from interface: OfflineMsgRepositoryIfc
      Loads head of the payloads queue which holds items that would be expired after stated time with an option to delete them from repository after being retrieved. This is blocking method, which means if there is not data to return, implementation should block the call until data is available.
      Specified by:
      getMessageExpired in interface OfflineMsgRepositoryIfc
      Parameters:
      time - time in milliseconds representing time after which given message would be considered as expired
      delete - boolean parameter controlling whether messages should be removed from repository after they retrieved.
      Returns:
      head of the payloads queue which holds items that would be expired after stated time with an option to delete them from repository after being retrieved.
    • setCondition

      @Deprecated public void setCondition(ReentrantLock lock, Condition condition)
      Deprecated.
      Specified by:
      setCondition in interface MsgRepositoryIfc<T>
    • loadExpiredQueue

      @Deprecated protected abstract void loadExpiredQueue(int max)
      Deprecated.
    • loadExpiredQueue

      @Deprecated protected abstract void loadExpiredQueue(Date expired)
      Deprecated.
    • deleteMessage

      protected abstract void deleteMessage(T db_id)
    • getMsgsStoreLimit

      protected long getMsgsStoreLimit(tigase.xmpp.jid.BareJID userJid, NonAuthUserRepository userRepo) throws UserNotFoundException
      Throws:
      UserNotFoundException