Class IMUtils
java.lang.Object
ru.bitel.bgbilling.plugins.im.common.IMUtils
- 
Nested Class Summary
Nested Classes - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionvoidaddMessageSort(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 StringgetJIDResource(String jid) Возвращает ресурс (часть строки после первого '/'), или null строку если его нет (нету '/').static StringgetLoginFromJID(String jid) Возвращает логин из JIDа, то есть часть до @static StringgetPureJID(String jid) Очищает jid от ресурса и прочего: возвращает текст до первого '/', или весь текст если не нашёлstatic ru.bitel.bgbilling.plugins.im.common.RosterRootItemjsonToRoster(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
 
 -