tigase.server.amp

## Class JDBCMsgRepository

- java.lang.Object
- - tigase.server.amp.MsgRepository<Long>
  - - tigase.server.amp.JDBCMsgRepository

- All Implemented Interfaces:
    MsgRepositoryIfc, Repository

      public class JDBCMsgRepository
      extends MsgRepository<Long>

  Created: May 3, 2010 5:28:02 PM
  Version:
    $Rev$
  Author:
    Artur Hefczyc

- - ### Nested Class Summary

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

      `MsgRepository.BroadcastMsg, MsgRepository.MSG_TYPES, MsgRepository.MsgDBItem, MsgRepository.OfflineMessagesProcessor`

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

      `Repository.Meta`

  - ### Field Summary

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

      `broadcastMessages, broadcastMessagesLastCleanup, earliestOffline, expiredQueue, MAX_QUEUE_SIZE, MSGS_STORE_LIMIT_KEY, MSGS_STORE_LIMIT_VAL, parser`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JDBCMsgRepository()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `deleteMessage(Long msg_id)`
    `int` | `deleteMessagesToJID(List<String> db_ids, tigase.xmpp.JID to)`
    `protected void` | `ensureBroadcastMessageRecipient(String id, tigase.xmpp.BareJID recipient)`
    `Map<MsgRepository.MSG_TYPES,Long>` | `getMessagesCount(tigase.xmpp.JID to)`
    `List<tigase.xml.Element>` | `getMessagesList(tigase.xmpp.JID to)`
    `void` | `initRepository(String conn_str, Map<String,String> map)` The method is called to initialize the data repository.
    `protected void` | `insertBroadcastMessage(String id, tigase.xml.Element msg, Date expire, tigase.xmpp.BareJID recipient)`
    `protected void` | `loadExpiredQueue(Date expired)`
    `protected void` | `loadExpiredQueue(int min_elements)`
    `void` | `loadMessagesToBroadcast()`
    `Queue<tigase.xml.Element>` | `loadMessagesToJID(tigase.xmpp.JID to, boolean delete)` Loads all payloads for the given user's `JID` from repository.
    `Queue<tigase.xml.Element>` | `loadMessagesToJID(tigase.xmpp.JID to, boolean delete, MsgRepository.OfflineMessagesProcessor proc)`
    `Queue<tigase.xml.Element>` | `loadMessagesToJID(List<String> db_ids, tigase.xmpp.JID to, boolean delete, MsgRepository.OfflineMessagesProcessor proc)`
    `void` | `storeMessage(tigase.xmpp.JID from, tigase.xmpp.JID to, Date expired, tigase.xml.Element msg)` Saves the massage to the repository

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

      `dumpBroadcastMessageKeys, getBroadcastMessages, getBroadcastMsg, getInstance, getMessageExpired, getStanzaTo, updateBroadcastMessage`

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

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

- - ### Constructor Detail

    - #### JDBCMsgRepository

          public JDBCMsgRepository()

  - ### Method Detail

    - #### initRepository

          public void initRepository(String conn_str,
                                     Map<String,String> map)
                              throws DBInitException

      Description copied from interface: `Repository`
      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.
      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.

    - #### getMessagesCount

          public Map<MsgRepository.MSG_TYPES,Long> getMessagesCount(tigase.xmpp.JID to)
                                                             throws UserNotFoundException

      Specified by:
        `getMessagesCount` in class `MsgRepository<Long>`
      Throws:
        `UserNotFoundException`

    - #### getMessagesList

          public List<tigase.xml.Element> getMessagesList(tigase.xmpp.JID to)
                                                   throws UserNotFoundException

      Specified by:
        `getMessagesList` in class `MsgRepository<Long>`
      Throws:
        `UserNotFoundException`

    - #### loadMessagesToJID

          public Queue<tigase.xml.Element> loadMessagesToJID(List<String> db_ids,
                                                             tigase.xmpp.JID to,
                                                             boolean delete,
                                                             MsgRepository.OfflineMessagesProcessor proc)
                                                      throws UserNotFoundException

      Specified by:
        `loadMessagesToJID` in class `MsgRepository<Long>`
      Throws:
        `UserNotFoundException`

    - #### deleteMessagesToJID

          public int deleteMessagesToJID(List<String> db_ids,
                                         tigase.xmpp.JID to)
                                  throws UserNotFoundException

      Specified by:
        `deleteMessagesToJID` in class `MsgRepository<Long>`
      Throws:
        `UserNotFoundException`

    - #### loadMessagesToJID

          public Queue<tigase.xml.Element> loadMessagesToJID(tigase.xmpp.JID to,
                                                             boolean delete)
                                                      throws UserNotFoundException

      Description copied from interface: `MsgRepositoryIfc`
      Loads all payloads for the given user's `JID` from repository.
      Parameters:
        `to` - `JID` denotes address of the receiver for which payload stored in the repository should be retrieved.
        `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`

    - #### loadMessagesToJID

          public Queue<tigase.xml.Element> loadMessagesToJID(tigase.xmpp.JID to,
                                                             boolean delete,
                                                             MsgRepository.OfflineMessagesProcessor proc)
                                                      throws UserNotFoundException

      Throws:
        `UserNotFoundException`

    - #### storeMessage

          public void storeMessage(tigase.xmpp.JID from,
                                   tigase.xmpp.JID to,
                                   Date expired,
                                   tigase.xml.Element msg)
                            throws UserNotFoundException

      Description copied from interface: `MsgRepositoryIfc`
      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
      Throws:
        `UserNotFoundException`

    - #### loadMessagesToBroadcast

          public void loadMessagesToBroadcast()

      Specified by:
        `loadMessagesToBroadcast` in class `MsgRepository<Long>`

    - #### insertBroadcastMessage

          protected void insertBroadcastMessage(String id,
                                                tigase.xml.Element msg,
                                                Date expire,
                                                tigase.xmpp.BareJID recipient)

      Specified by:
        `insertBroadcastMessage` in class `MsgRepository<Long>`

    - #### ensureBroadcastMessageRecipient

          protected void ensureBroadcastMessageRecipient(String id,
                                                         tigase.xmpp.BareJID recipient)

      Specified by:
        `ensureBroadcastMessageRecipient` in class `MsgRepository<Long>`

    - #### deleteMessage

          protected void deleteMessage(Long msg_id)

      Specified by:
        `deleteMessage` in class `MsgRepository<Long>`

    - #### loadExpiredQueue

          protected void loadExpiredQueue(int min_elements)

      Specified by:
        `loadExpiredQueue` in class `MsgRepository<Long>`

    - #### loadExpiredQueue

          protected void loadExpiredQueue(Date expired)

      Specified by:
        `loadExpiredQueue` in class `MsgRepository<Long>`

Copyright © 2016 "Tigase, Inc.". All rights reserved.