Package tigase.db.xml

# Class XMLMsgRepository

java.lang.Object
tigase.server.amp.db.MsgRepository<String,XMLDataSource>
tigase.db.xml.XMLMsgRepository

All Implemented Interfaces:
  `DataSourceAware<XMLDataSource>`, `MsgRepositoryIfc<XMLDataSource>`, `OfflineMsgRepositoryIfc`, `Repository`

public class XMLMsgRepository extends MsgRepository<String,XMLDataSource>
Created by andrzej on 04.04.2017.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class tigase.server.amp.db.MsgRepository

  `MsgRepository.MSG_TYPES, MsgRepository.MsgDBItem<T>, MsgRepository.MsgRepositoryMDBean, MsgRepository.MsgRepositoryPoolBean<T>, MsgRepository.OfflineMessagesProcessor`

  ## Nested classes/interfaces inherited from interface tigase.db.Repository

  `Repository.Meta, Repository.SchemaId`

- ## Field Summary

  ### Fields inherited from class tigase.server.amp.db.MsgRepository

  `awaitingInExpiredQueue, earliestOffline, expiredQueue, MAX_QUEUE_SIZE, MSGS_STORE_LIMIT_KEY, OFFLINE_MSGS_KEY, parser`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `XMLMsgRepository()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `deleteMessage(String db_id)`
  `int`
  `deleteMessagesToJID(List<String> db_ids, XMPPResourceConnection session)`
  `Map<Enum,Long>`
  `getMessagesCount(JID to)`
  `List<Element>`
  `getMessagesList(JID to)`
  `protected void`
  `loadExpiredQueue(int max)`
  `protected void`
  `loadExpiredQueue(Date expired)`
  `Queue<Element>`
  `loadMessagesToJID(List<String> db_ids, XMPPResourceConnection session, boolean delete, MsgRepository.OfflineMessagesProcessor proc)`
  `Queue<Element>`
  `loadMessagesToJID(XMPPResourceConnection session, boolean delete)`
  Loads all payloads for the given user's `JID` from repository.
  `void`
  `setDataSource(XMLDataSource dataSource)`
  Method called to provide class with instance of a data source.
  `boolean`
  `storeMessage(JID from, JID to, Date expired, Element msg, NonAuthUserRepository userRepo)`
  Saves the massage to the repository

  ### Methods inherited from class tigase.server.amp.db.MsgRepository

  `getInstance, getMessageExpired, getMsgsStoreLimit, initRepository, setCondition`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### XMLMsgRepository

    public XMLMsgRepository()

- ## Method Details

  - ### setDataSource

    public void setDataSource(XMLDataSource dataSource)
    Description copied from interface: `DataSourceAware`
    Method called to provide class with instance of a data source.

  - ### getMessagesCount

    public Map<Enum,Long> getMessagesCount(JID to) throws UserNotFoundException
    Throws:
      `UserNotFoundException`

  - ### getMessagesList

    public List<Element> getMessagesList(JID to) throws UserNotFoundException
    Throws:
      `UserNotFoundException`

  - ### loadMessagesToJID

    public Queue<Element> loadMessagesToJID(XMPPResourceConnection session, boolean delete) throws UserNotFoundException
    Description copied from interface: `OfflineMsgRepositoryIfc`
    Loads all payloads for the given user's `JID` from repository.
    Parameters:
      `session` - user session which keeps all the user session data and also gives an access to the user's repository data.
      `delete` - boolean parameter controlling whether messages should be removed from repository after they retrieved.
    Returns:
      a `Queue` of `Element` objects representing stored payloads for the given user's `JID`
    Throws:
      `UserNotFoundException`

  - ### storeMessage

    public boolean storeMessage(JID from, JID to, Date expired, Element msg, NonAuthUserRepository userRepo) throws UserNotFoundException
    Description copied from interface: `OfflineMsgRepositoryIfc`
    Saves the massage to the repository
    Parameters:
      `from` - `JID` denotes address of the sender
      `to` - `JID` denotes address of the receiver
      `expired` - `Date` object denoting expiration date of the message
      `msg` - `Element` payload of the stanza to be saved
      `userRepo` - `NonAuthUserRepository` instance of non auth user repository to get user settings for offline messages
    Returns:
      `true` if the packet was correctly saved to repository, `false` otherwise.
    Throws:
      `UserNotFoundException`

  - ### loadMessagesToJID

    public Queue<Element> loadMessagesToJID(List<String> db_ids, XMPPResourceConnection session, boolean delete, MsgRepository.OfflineMessagesProcessor proc) throws UserNotFoundException
    Specified by:
      `loadMessagesToJID` in interface `MsgRepositoryIfc<XMLDataSource>`
    Specified by:
      `loadMessagesToJID` in class `MsgRepository<String,XMLDataSource>`
    Throws:
      `UserNotFoundException`

  - ### deleteMessagesToJID

    public int deleteMessagesToJID(List<String> db_ids, XMPPResourceConnection session) throws UserNotFoundException
    Specified by:
      `deleteMessagesToJID` in interface `MsgRepositoryIfc<XMLDataSource>`
    Specified by:
      `deleteMessagesToJID` in class `MsgRepository<String,XMLDataSource>`
    Throws:
      `UserNotFoundException`

  - ### loadExpiredQueue

    protected void loadExpiredQueue(int max)
    Specified by:
      `loadExpiredQueue` in class `MsgRepository<String,XMLDataSource>`

  - ### loadExpiredQueue

    protected void loadExpiredQueue(Date expired)
    Specified by:
      `loadExpiredQueue` in class `MsgRepository<String,XMLDataSource>`

  - ### deleteMessage

    protected void deleteMessage(String db_id)
    Specified by:
      `deleteMessage` in class `MsgRepository<String,XMLDataSource>`