Class IMUtils
java.lang.Object
ru.bitel.bgbilling.plugins.im.common.IMUtils
-
Nested Class Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addMessageSort
(List<ru.bitel.bgbilling.plugins.im.common.IMMessage> list, ru.bitel.bgbilling.plugins.im.common.IMMessage message) Добавление сообщения в список.static List<ru.bitel.bgbilling.plugins.im.common.IMMessage>
cloneListAndClear
(List<ru.bitel.bgbilling.plugins.im.common.IMMessage> list) Возвращает копию этого списка, очищая одновременно этот список.static String
getJIDResource
(String jid) Возвращает ресурс (часть строки после первого '/'), или null строку если его нет (нету '/').static String
getLoginFromJID
(String jid) Возвращает логин из JIDа, то есть часть до @static String
getPureJID
(String jid) Очищает jid от ресурса и прочего: возвращает текст до первого '/', или весь текст если не нашёлstatic ru.bitel.bgbilling.plugins.im.common.RosterRootItem
jsonToRoster
(String jsonString)
-
Constructor Details
-
IMUtils
public IMUtils()
-
-
Method Details
-
getPureJID
Очищает jid от ресурса и прочего: возвращает текст до первого '/', или весь текст если не нашёл- Parameters:
jid
- исходный жид в строке- Returns:
- строка в виде user@server
-
getJIDResource
Возвращает ресурс (часть строки после первого '/'), или null строку если его нет (нету '/').- Parameters:
jid
- жид- Returns:
- строка ресурса или null.
-
getLoginFromJID
Возвращает логин из JIDа, то есть часть до @- Parameters:
jid
- жид- Returns:
- строка - логин или null если передан null или неправильный jid (то есть нету @)
-
addMessageSort
public void addMessageSort(List<ru.bitel.bgbilling.plugins.im.common.IMMessage> list, ru.bitel.bgbilling.plugins.im.common.IMMessage message) Добавление сообщения в список. Сортируется и суётся куда надо, в нужное место, в соответствии с датой сообщения (по возрастанию). Список должен быть соответствующим образом ОТСОРТИРОВАН.- Parameters:
message
- сообщение
-
cloneListAndClear
public static List<ru.bitel.bgbilling.plugins.im.common.IMMessage> cloneListAndClear(List<ru.bitel.bgbilling.plugins.im.common.IMMessage> list) Возвращает копию этого списка, очищая одновременно этот список. Зачем? Вопрос интересный. Дело в том, что этот IMMessageList лежит в хеше и всё время пополняется, нам надо быстренько отсюда считать все сообщения, преобразовать в хмл и отправить клиенту. А список в кеше почистить. Но так как создание хмл и прочие операции дорого обходятся нашему брату, то между считыванием списка и очищением, то есть во время работы над списком, в него может кто то подолбиться и положить сообщение. Итог - от потерянного сообщения, до разрушения итератора, что грозит неприятностями в любом случае. Стало быть, мы быстренько снимаем со списка слепок его чистим в кеше, а потом с копией работаем себе.- Returns:
- IMMessageList.
-
jsonToRoster
public static ru.bitel.bgbilling.plugins.im.common.RosterRootItem jsonToRoster(String jsonString) throws Exception - Throws:
Exception
-