ru.bitel.bgbilling.plugins.im.server.bean

## Class MessageManager

- java.lang.Object
- - ru.bitel.bgbilling.plugins.im.server.bean.MessageManager

-     public class MessageManager
      extends java.lang.Object

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.sql.Connection` | `con`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MessageManager(java.sql.Connection con, ru.bitel.bgbilling.kernel.plugin.server.BGPluginServer plugin)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addMessage(ru.bitel.bgbilling.plugins.im.common.IMMessage message)` Вставляет заполненый объект IMMessage в БД
    `int` | `getMessageCount(int userId, java.lang.String jidfrom, java.lang.String jidto, java.lang.Long datefrom, java.lang.Long dateto)` Число сообщений.
    `ru.bitel.bgbilling.plugins.im.common.IMMessageList` | `getMessageList(int userId, java.lang.String jidfrom, java.lang.String jidto, java.lang.Long datefrom, java.lang.Long dateto, Page page)` Возвращает список сообщений за установленный период от указанного jid к указанному.

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

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

- - ### Field Detail

    - #### con

          protected java.sql.Connection con

  - ### Constructor Detail

    - #### MessageManager

          public MessageManager(java.sql.Connection con,
                                ru.bitel.bgbilling.kernel.plugin.server.BGPluginServer plugin)

  - ### Method Detail

    - #### getMessageList

          public ru.bitel.bgbilling.plugins.im.common.IMMessageList getMessageList(int userId,
                                                                                   java.lang.String jidfrom,
                                                                                   java.lang.String jidto,
                                                                                   java.lang.Long datefrom,
                                                                                   java.lang.Long dateto,
                                                                                   Page page)

      Возвращает список сообщений за установленный период от указанного jid к указанному.
      Parameters:
        `userId` - ИД юзера, для которого возвращаем историю. Введено оттого, что только по паре jidfrom, jidto нельзя ориентироваться - история в таблице может быть для обоих юзеров из переписки, тогда выберутся сообщения для обоих сторон и сообщения в истории будут дублированные возвращаться.
        `jidfrom` - жид пользователя, от которого надо вернуть сообещния (ведь список сообщений для какого то чата, то есть с одним человеком). это типа "удалённый оппонент".
        `jidto` - жид пользователя. надо сказать что хистори хранится для изера только (без учёта ресурса)! как на сервере храниться так и тут возвращается. это типа "мы".
        `datefrom` - дата начала периода, если нету (null) - все сообщения с начала. Даты - в длинных числах (миллисекунды!). И берётся включительно.
        `dateto` - дата конца периода, если нету (null) - все до последнего.
        `page` - страницы.
      Returns:
        объект IMMessageList, заполненый список.

    - #### getMessageCount

          public int getMessageCount(int userId,
                                     java.lang.String jidfrom,
                                     java.lang.String jidto,
                                     java.lang.Long datefrom,
                                     java.lang.Long dateto)

      Число сообщений.
      Returns:
        натуральное число.
      See Also:
        `getMessageList`

    - #### addMessage

          public void addMessage(ru.bitel.bgbilling.plugins.im.common.IMMessage message)

      Вставляет заполненый объект IMMessage в БД
      Parameters:
        `message` - сообщение, заполнены все поля кроме ид конечно, ид заполняется на выходе, на всякий случай.