Package ru.bitel.bgbilling.client.util

# Class ClientUtils

java.lang.Object
ru.bitel.bgbilling.client.util.ClientUtils

public class ClientUtils extends Object
Клиентский утилс. Работа с GUI, взаимодействие с сервером.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final ImageIcon`
  `nullIcon`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ClientUtils()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static int`
  `addComponentToPanel(JPanel panel, int gridy, Component[][] components, boolean addBottom)`
  `static void`
  `addEnterDoClickDelegate(Component comp, AbstractButton button)`
  Назначение делегации клика кнопки от любой компоненты при нажатии на него ENTER.
  `static final void`
  `addOnlyOneShownListener(Component... comp)`
  `static final void`
  `addOpenAction(Component comp, AWTEventListener eventListener)`
  Добавляет на компонент слушатель 1) даблклика и 2) нажатия Enter.
  `static final void`
  `addShowCodeListener(bitel.billing.module.common.table.BGTable table)`
  `static final void`
  `addShowCodeListener(JList<?> list)`
  Вешает на Ctrl+i показывалку ид сущности.
  `static final void`
  `addShowCodeListener(ru.bitel.bgbilling.client.common.table.tree.JTreeTable dataTree, ru.bitel.bgbilling.client.common.table.tree.DefaultTreeTableModel<?> model)`
  `static void`
  `buildComboBox(JComboBox<bitel.billing.module.common.ComboBoxItem> comboBox, Node node, String selected)`
  `static void`
  `buildComboBox(JComboBox<bitel.billing.module.common.ComboBoxItem> comboBox, Node node, String selected, String idName, String titleName)`
  `static DefaultComboBoxModel<bitel.billing.module.common.ComboBoxItem>`
  `buildComboBox(org.json.JSONArray array, int selected)`
  `static DefaultComboBoxModel<bitel.billing.module.common.ComboBoxItem>`
  `buildComboBox(org.json.JSONArray array, int selected, String idName, String titleName)`
  `static DefaultComboBoxModel<bitel.billing.module.common.ComboBoxItem>`
  `buildComboBox(Node node, String selected)`
  `static DefaultComboBoxModel<bitel.billing.module.common.ComboBoxItem>`
  `buildComboBox(Node node, String selected, String idName, String titleName)`
  `static DefaultComboBoxModel<bitel.billing.module.common.ComboBoxItem>`
  `buildComboBoxWithDefault(Node node, String selected)`
  `static DefaultComboBoxModel<bitel.billing.module.common.ComboBoxItem>`
  `buildComboBoxWithDefault(Node node, String selected, String defaultName)`
  `static void`
  `buildList(bitel.billing.module.common.BGControlPanelListSelect list, Node node)`
  `static void`
  `buildList(bitel.billing.module.common.BGControlPanelListSelect list, Node node, String defaultValue)`
  `static void`
  `buildList(JList<ru.bitel.bgbilling.common.model.BGUListItem> jList, List<? extends ListItem> list)`
  `static void`
  `buildList(JList<ru.bitel.bgbilling.common.model.BGUListItem> jList, DefaultListModel<ru.bitel.bgbilling.common.model.BGUListItem> model, Node node)`
  `static void`
  `buildList(JList<ru.bitel.bgbilling.common.model.BGUListItem> jList, DefaultListModel<ru.bitel.bgbilling.common.model.BGUListItem> model, Node node, String defaultValue)`
  `static void`
  `buildList(JList<ru.bitel.bgbilling.common.model.BGUListItem> jList, Node node)`
  `static void`
  `buildList(JList<ru.bitel.bgbilling.common.model.BGUListItem> jList, Node node, String defaultValue)`
  `static List<String>`
  `buildList(Node node)`
  Собирает обычный java.util.List из атрибутов title.
  `static void`
  `buildList(ru.bitel.common.client.list.BGUList<ru.bitel.bgbilling.common.model.BGUListItem> list, Iterable<Element> iterable)`
  `static void`
  `buildMultiList(JList<ru.bitel.bgbilling.common.model.BGUListItem> jList, DefaultListModel<ru.bitel.bgbilling.common.model.BGUListItem> model, Node node, List<String> defaultValues)`
  `static boolean`
  `checkStatus(Document doc)`
  `static void`
  `checkValues(JTextField tf, int minValue, int maxValue)`
  Делает некоторые действия с текстом в поле. 1) преобразует цифры в последовательности (?)
  `static boolean`
  `confirm(String message, String title)`
  `static boolean`
  `confirmDelete(Object what)`
  `static boolean`
  `confirmDelete(Object what, boolean useQuotes)`
  `static void`
  `exec(String command)`
  `static void`
  `expandTree(JTree tree, DefaultMutableTreeNode start)`
  Разворачивание всего дерева начиная с указанного узла.
  `static String`
  `getComponentKey(Component c, String suffix)`
  Получает из указанного компонента его ключ текстовый, чтобы сохранить в конфиге юзера, например, какие-то данные о нём.
  `static List<String>`
  `getExpandedTreeNodeList(JTree tree, String pathdelim)`
  Список развёрнутых узлов в дереве в виде path-ов, для сохранения перед обновлением и последущего восстановления.
  `static ImageIcon`
  `getIcon(String name)`
  Получение стандартной иконки, из стандартной папки (в наших терминах - "пакаге") /img/.
  `static ImageIcon`
  `getIcon(String packageicon, String name, boolean nonNull)`
  Получение любой иконки, из любой папки ("packageicon"), нужна была эта функция, чтобы из плагина иконки тягать, а не только из /img/.
  `static ImageIcon`
  `getIconByPath(String path, boolean nonNull)`
  Получение иконки по пути.
  `static String`
  `getIdFromComboBox(JComboBox<bitel.billing.module.common.ComboBoxItem> combo)`
  `static String`
  `getIdFromList(JList<ru.bitel.bgbilling.common.model.BGUListItem> list)`
  `static String`
  `getIdFromTable(bitel.billing.module.common.table.BGTable table, int column)`
  `static List<IdTitle>`
  `getList(Node node)`
  Специальный метод для наполнения новых контролов через старые акшены.
  `static String`
  `getListSelectedItemtoString(JList<ru.bitel.bgbilling.common.model.BGUListItem> list)`
  `static File`
  `getLocalSettingFolder()`
  `static Document`
  `getModuleDoc(Class<?> clazz)`
  `static Document`
  `getModuleDoc(String rb_name)`
  `static String`
  `getRBName(Class<?> clazz)`
  `static String`
  `getRBName(Object obj)`
  `static String`
  `getRowId(bitel.billing.module.common.table.BGTable table)`
  `static String`
  `getRowId(bitel.billing.module.common.table.BGTable table, String msg, String col)`
  `static String`
  `getRowIdList(bitel.billing.module.common.table.BGTable table, String col, String msg)`
  Список айдишников (через запятую) выделенных строк в таблице.
  `static boolean`
  `getStatus(Component component, Document doc)`
  `static String`
  `getValueFromResourceBundle(String resourceBundleName, String key)`
  `static String`
  `getValueFromResourceBundle(String resourceBundleName, String key, String defaultValue)`
  `static final boolean`
  `isCtrlI(KeyEvent e)`
  `static String`
  `linesToString(Element node)`
  `static void`
  `openBrowser(URI uri)`
  Открыть в дефолтном браузере системном.
  `static void`
  `openContract(int contractId)`
  Открыть в клиенте вкладку с договором.
  `static void`
  `openContract(int contractId, String tabClass)`
  Открыть в клиенте вкладку с договором.
  `static void`
  `openContract(int contractId, String tabClass, Object parameter)`
  Открыть в клиенте вкладку с договором.
  `static void`
  `openContract(bitel.billing.module.common.table.BGTable table, String idCol)`
  Открыть в клиенте вкладку с договором.
  `static void`
  `openFile(File file)`
  Открыть файл в дефолтном приложении системном.
  `static void`
  `openTelnet(String host, int port)`
  `static void`
  `openTerminal(String cmd)`
  `static void`
  `removeFromComboBox(JComboBox<bitel.billing.module.common.ComboBoxItem> comboBox, String value)`
  `static void`
  `saveBinaryFile(byte[] bytes, File file, String ext)`
  Сохраняет байты в файл с расширением.
  `static void`
  `saveBinaryFile(InputStream is, File file, String ext)`
  То же самое что `saveBinaryFile(byte[], File, String)` но с InputStream, для длинных файлов.
  `static final void`
  `saveHtmlFile(String text, File file)`
  Сохраняет текст с содержимым html в файл.
  `static final void`
  `saveTextFile(String text, File file, String ext)`
  Сохраняет текст в файл с расширением.
  `static boolean`
  `setComboBoxSelection(JComboBox<bitel.billing.module.common.ComboBoxItem> combo, int selectedId)`
  `static boolean`
  `setComboBoxSelection(JComboBox<bitel.billing.module.common.ComboBoxItem> combo, Object selectedId)`
  `static void`
  `setComboBoxSelection(ru.bitel.common.client.BGUComboBox<? extends IdTitle> comboBox, int selectedObj)`
  `static void`
  `setComboBoxSelection(ru.bitel.common.client.BGUComboBox<? extends IdTitle> comboBox, int selectedId, int defaultId)`
  `static void`
  `setExpandedTreeNodeList(JTree tree, List<String> expandedNodes, String pathdelim)`
  Восстановление развёрнутости узлов-path, сохранённых функцией getExpandedTreeNodeList.
  `static void`
  `setKeyValueListSelection(JList<? extends ru.bitel.bgbilling.common.model.KeyValue> list, String selectedKey, String defaultKey)`
  `static void`
  `setListSelection(JList<? extends IdTitle> list, int selectedId, int defaultId)`
  `static void`
  `setListSelection(JList<ru.bitel.bgbilling.common.model.BGUListItem> list, String selected_id)`
  `static void`
  `setListSelection(JList<ru.bitel.bgbilling.common.model.BGUListItem> list, List<Integer> selectedIds)`
  `static KeyStroke`
  `setShortCodeForSearchOfClasses(ActionMap actionMap, InputMap inputMap, Container container)`
  `static void`
  `showDialog(Object message, String title, int messageType)`
  `static void`
  `showErrorMessageDialog(String message)`
  `static void`
  `showErrorMessageDialog(String message, String title)`
  `static void`
  `showErrorMessageDialog(Throwable e)`
  `static void`
  `showMessageDialog(Object message)`
  `static void`
  `showMessageDialog(Object message, String title)`
  `static void`
  `showScrollMessageDialog(String message, String title)`
  `static Window`
  `showWaitWindow(String message)`
  Создаётся окошечко с сообщением и крутилкой.
  `static List<ru.bitel.bgbilling.common.model.BGUListItem>`
  `toBGUListItemList(Iterable<Element> iterable)`
  `static List<ru.bitel.bgbilling.common.model.BGUListItem>`
  `toBGUListItemList(List<?> list)`
  `static void`
  `warning(String message, String title)`

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

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

- ## Field Details

  - ### nullIcon

    public static final ImageIcon nullIcon

- ## Constructor Details

  - ### ClientUtils

    public ClientUtils()

- ## Method Details

  - ### confirm

    public static boolean confirm(String message, String title)

  - ### confirmDelete

    public static boolean confirmDelete(Object what)

  - ### confirmDelete

    public static boolean confirmDelete(Object what, boolean useQuotes)

  - ### showDialog

    public static void showDialog(Object message, String title, int messageType)

  - ### showScrollMessageDialog

    public static void showScrollMessageDialog(String message, String title)

  - ### showMessageDialog

    public static void showMessageDialog(Object message, String title)

  - ### showMessageDialog

    public static void showMessageDialog(Object message)

  - ### warning

    public static void warning(String message, String title)

  - ### showErrorMessageDialog

    public static void showErrorMessageDialog(String message, String title)

  - ### showErrorMessageDialog

    public static void showErrorMessageDialog(String message)

  - ### showErrorMessageDialog

    public static void showErrorMessageDialog(Throwable e)

  - ### checkStatus

    public static boolean checkStatus(Document doc)

  - ### getStatus

    public static boolean getStatus(Component component, Document doc)

  - ### getIcon

    public static ImageIcon getIcon(String name)
    Получение стандартной иконки, из стандартной папки (в наших терминах - "пакаге") /img/. Раньше была только она, теперь она так же называется для обратной совместимости.
    Parameters:
      `name` - имя иконки
    Returns:
      ИмейджИкон

  - ### getIconByPath

    public static ImageIcon getIconByPath(String path, boolean nonNull)
    Получение иконки по пути. Путь можно указывать без .png|.gif, но рекомендуется полностью.
    Parameters:
      `path` -
      `nonNull` - если иконка не найдена - возвращать null или пустую иконку.
    Returns:

  - ### getIcon

    public static ImageIcon getIcon(String packageicon, String name, boolean nonNull)
    Получение любой иконки, из любой папки ("packageicon"), нужна была эта функция, чтобы из плагина иконки тягать, а не только из /img/. Иконки тягаются по именам, кешируются по пакет+имя. Иконки - gif или png. Если не найдено - в зависимости от nonNull вернётся нулевая или пустая иконка.
    Parameters:
      `packageicon` - пакаге (или папка) иконки, может быть как в виде abc/de/fghi, так и abc.de.fghi
      `name` - имя иконки
      `nonNull` - если иконка не найдена - вернуть пустой объект или null
    Returns:
      ИмейджИкон

  - ### getRBName

    public static String getRBName(Object obj)

  - ### getRBName

    public static String getRBName(Class<?> clazz)

  - ### getRowId

    public static String getRowId(bitel.billing.module.common.table.BGTable table)

  - ### getRowId

    public static String getRowId(bitel.billing.module.common.table.BGTable table, String msg, String col)

  - ### buildList

    public static void buildList(JList<ru.bitel.bgbilling.common.model.BGUListItem> jList, Node node)

  - ### buildList

    public static void buildList(bitel.billing.module.common.BGControlPanelListSelect list, Node node)

  - ### buildList

    public static void buildList(JList<ru.bitel.bgbilling.common.model.BGUListItem> jList, DefaultListModel<ru.bitel.bgbilling.common.model.BGUListItem> model, Node node)

  - ### buildList

    public static void buildList(ru.bitel.common.client.list.BGUList<ru.bitel.bgbilling.common.model.BGUListItem> list, Iterable<Element> iterable)

  - ### buildList

    public static void buildList(bitel.billing.module.common.BGControlPanelListSelect list, Node node, String defaultValue)

  - ### buildList

    public static void buildList(JList<ru.bitel.bgbilling.common.model.BGUListItem> jList, Node node, String defaultValue)

  - ### buildList

    public static void buildList(JList<ru.bitel.bgbilling.common.model.BGUListItem> jList, DefaultListModel<ru.bitel.bgbilling.common.model.BGUListItem> model, Node node, String defaultValue)

  - ### buildMultiList

    public static void buildMultiList(JList<ru.bitel.bgbilling.common.model.BGUListItem> jList, DefaultListModel<ru.bitel.bgbilling.common.model.BGUListItem> model, Node node, List<String> defaultValues)

  - ### buildList

    public static List<String> buildList(Node node)
    Собирает обычный java.util.List из атрибутов title.
    Parameters:
      `node` -

  - ### buildList

    public static void buildList(JList<ru.bitel.bgbilling.common.model.BGUListItem> jList, List<? extends ListItem> list)

  - ### setListSelection

    public static void setListSelection(JList<ru.bitel.bgbilling.common.model.BGUListItem> list, String selected_id)

  - ### setListSelection

    public static void setListSelection(JList<ru.bitel.bgbilling.common.model.BGUListItem> list, List<Integer> selectedIds)

  - ### setListSelection

    public static void setListSelection(JList<? extends IdTitle> list, int selectedId, int defaultId)

  - ### setKeyValueListSelection

    public static void setKeyValueListSelection(JList<? extends ru.bitel.bgbilling.common.model.KeyValue> list, String selectedKey, String defaultKey)

  - ### buildComboBox

    public static DefaultComboBoxModel<bitel.billing.module.common.ComboBoxItem> buildComboBox(Node node, String selected, String idName, String titleName)

  - ### buildComboBox

    public static DefaultComboBoxModel<bitel.billing.module.common.ComboBoxItem> buildComboBox(org.json.JSONArray array, int selected, String idName, String titleName)

  - ### buildComboBox

    public static DefaultComboBoxModel<bitel.billing.module.common.ComboBoxItem> buildComboBox(Node node, String selected)

  - ### buildComboBox

    public static DefaultComboBoxModel<bitel.billing.module.common.ComboBoxItem> buildComboBox(org.json.JSONArray array, int selected)

  - ### buildComboBoxWithDefault

    public static DefaultComboBoxModel<bitel.billing.module.common.ComboBoxItem> buildComboBoxWithDefault(Node node, String selected)

  - ### buildComboBoxWithDefault

    public static DefaultComboBoxModel<bitel.billing.module.common.ComboBoxItem> buildComboBoxWithDefault(Node node, String selected, String defaultName)

  - ### buildComboBox

    public static void buildComboBox(JComboBox<bitel.billing.module.common.ComboBoxItem> comboBox, Node node, String selected)

  - ### buildComboBox

    public static void buildComboBox(JComboBox<bitel.billing.module.common.ComboBoxItem> comboBox, Node node, String selected, String idName, String titleName)

  - ### setComboBoxSelection

    public static boolean setComboBoxSelection(JComboBox<bitel.billing.module.common.ComboBoxItem> combo, int selectedId)

  - ### setComboBoxSelection

    public static boolean setComboBoxSelection(JComboBox<bitel.billing.module.common.ComboBoxItem> combo, Object selectedId)

  - ### setComboBoxSelection

    public static void setComboBoxSelection(ru.bitel.common.client.BGUComboBox<? extends IdTitle> comboBox, int selectedObj)

  - ### setComboBoxSelection

    public static void setComboBoxSelection(ru.bitel.common.client.BGUComboBox<? extends IdTitle> comboBox, int selectedId, int defaultId)

  - ### getIdFromComboBox

    public static String getIdFromComboBox(JComboBox<bitel.billing.module.common.ComboBoxItem> combo)

  - ### getRowIdList

    public static String getRowIdList(bitel.billing.module.common.table.BGTable table, String col, String msg)
    Список айдишников (через запятую) выделенных строк в таблице.
    Parameters:
      `table` - таблица
      `col` - имя столбца нужного (например, "id")
      `msg` - сообщение, если ни одного нет выбранного.
    Returns:
      строка с айдишниками через запятую.

  - ### linesToString

    public static String linesToString(Element node)

  - ### saveHtmlFile

    public static final void saveHtmlFile(String text, File file) throws Exception
    Сохраняет текст с содержимым html в файл. Сохраняет в utf-8. Вдобавок заменяет meta с чарсетом на utf-8 тоже (если есть мета вообще). Т.е. это в отличие от сохранения текстового.
    Throws:
      `Exception`

  - ### saveTextFile

    public static final void saveTextFile(String text, File file, String ext) throws IOException
    Сохраняет текст в файл с расширением. Использует кодировку UTF-8.
    Parameters:
      `text` - текст. байты возьмутся из него в кодировке UTF-8.
      `file` - файл куда записать
      `ext` - расширение обязательное у файла. если нет такого то оно прибавится.
    Throws:
      `IOException`

  - ### saveBinaryFile

    public static void saveBinaryFile(byte[] bytes, File file, String ext) throws IOException
    Сохраняет байты в файл с расширением. Для скачки с сервера чаще используется.
    Parameters:
      `bytes` - байты
      `file` - файл куда записать
      `ext` - расширение обязательное у файла. если нет такого то оно прибавится.
    Throws:
      `IOException`

  - ### saveBinaryFile

    public static void saveBinaryFile(InputStream is, File file, String ext) throws IOException
    То же самое что `saveBinaryFile(byte[], File, String)` но с InputStream, для длинных файлов.
    Throws:
      `IOException`

  - ### expandTree

    public static void expandTree(JTree tree, DefaultMutableTreeNode start)
    Разворачивание всего дерева начиная с указанного узла.
    Parameters:
      `tree` - дерево JTree
      `start` - верхний узел с которого всё развернуть

  - ### getExpandedTreeNodeList

    public static List<String> getExpandedTreeNodeList(JTree tree, String pathdelim)
    Список развёрнутых узлов в дереве в виде path-ов, для сохранения перед обновлением и последущего восстановления.
    Parameters:
      `tree` - дерево JTree.
      `pathdelim` - разделитель, которым разделяются каждый компонент из path узлов.
    Returns:
      лист сериализованных развёрнутых path.

  - ### setExpandedTreeNodeList

    public static void setExpandedTreeNodeList(JTree tree, List<String> expandedNodes, String pathdelim)
    Восстановление развёрнутости узлов-path, сохранённых функцией getExpandedTreeNodeList.
    Parameters:
      `tree` - дерево JTree.
      `expandedNodes` - список path.
      `pathdelim` - список по которым бьются каждый компонент из path узлов (regexp, т.е. "."=>"\\.")

  - ### addShowCodeListener

    public static final void addShowCodeListener(bitel.billing.module.common.table.BGTable table)

  - ### openBrowser

    public static void openBrowser(URI uri) throws ru.bitel.bgbilling.common.BGException
    Открыть в дефолтном браузере системном.
    Parameters:
      `uri` - ури
    Throws:
      `ru.bitel.bgbilling.common.BGException` - если какая ошибка или неподдерживаемость

  - ### exec

    public static void exec(String command) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### openTelnet

    public static void openTelnet(String host, int port) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### openTerminal

    public static void openTerminal(String cmd) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### openFile

    public static void openFile(File file) throws ru.bitel.bgbilling.common.BGException
    Открыть файл в дефолтном приложении системном.
    Parameters:
      `file` - файл
    Throws:
      `ru.bitel.bgbilling.common.BGException` - если какая ошибка или неподдерживаемость

  - ### getIdFromTable

    public static String getIdFromTable(bitel.billing.module.common.table.BGTable table, int column)

  - ### getIdFromList

    public static String getIdFromList(JList<ru.bitel.bgbilling.common.model.BGUListItem> list)

  - ### removeFromComboBox

    public static void removeFromComboBox(JComboBox<bitel.billing.module.common.ComboBoxItem> comboBox, String value)

  - ### addShowCodeListener

    public static final void addShowCodeListener(JList<?> list)
    Вешает на Ctrl+i показывалку ид сущности. сюда реально передают либо ListItem( причем именно bitel.billing.module.common.ListItem) либо IdTitle - у них нет общего предка.
    Parameters:
      `list` -

  - ### checkValues

    public static void checkValues(JTextField tf, int minValue, int maxValue)
    Делает некоторые действия с текстом в поле. 1) преобразует цифры в последовательности (?) было: 0,1,2,3,6,7,18,19,20,23 стало: 0-3,6-7,18-20,23 2) проверяет на мин/макс. 3) ...
    Parameters:
      `tf` - текстфилд
      `minValue` -
      `maxValue` -

  - ### getListSelectedItemtoString

    public static String getListSelectedItemtoString(JList<ru.bitel.bgbilling.common.model.BGUListItem> list)

  - ### addOnlyOneShownListener

    public static final void addOnlyOneShownListener(Component... comp)

  - ### addShowCodeListener

    public static final void addShowCodeListener(ru.bitel.bgbilling.client.common.table.tree.JTreeTable dataTree, ru.bitel.bgbilling.client.common.table.tree.DefaultTreeTableModel<?> model)

  - ### addOpenAction

    public static final void addOpenAction(Component comp, AWTEventListener eventListener)
    Добавляет на компонент слушатель 1) даблклика и 2) нажатия Enter. Т.е. для быстрого добавления действия "перейти к объекту".
    Parameters:
      `comp` - компонент
      `eventListener` - листенер (AWTEventListener), куда передастся действие произошедшее - MouseEvent или KeyEvent.

  - ### addEnterDoClickDelegate

    public static void addEnterDoClickDelegate(Component comp, AbstractButton button)
    Назначение делегации клика кнопки от любой компоненты при нажатии на него ENTER. Т.е. при нажатии Enter в текстовом поле, например, срабатывает кнопка "поиск" итп

         JTextField value_TF = new JTextField();
         JButton okButton = new JButton( ">>>" );
         // добавляем поиск по ентеру в поле
         ClientUtils.addEnterDoClickDelegate( value_TF, okButton );

    Parameters:
      `comp` - компонента, которая слушает enter
      `button` - кнопка, которая программно кликнется

  - ### getModuleDoc

    public static Document getModuleDoc(Class<?> clazz)

  - ### getModuleDoc

    public static Document getModuleDoc(String rb_name)

  - ### getList

    public static List<IdTitle> getList(Node node)
    Специальный метод для наполнения новых контролов через старые акшены. Использовать там, где раньше использовались buildList и т.п.
    Returns:
      список итемов

  - ### isCtrlI

    public static final boolean isCtrlI(KeyEvent e)

  - ### getValueFromResourceBundle

    public static String getValueFromResourceBundle(String resourceBundleName, String key)

  - ### getValueFromResourceBundle

    public static String getValueFromResourceBundle(String resourceBundleName, String key, String defaultValue)

  - ### showWaitWindow

    public static Window showWaitWindow(String message)
    Создаётся окошечко с сообщением и крутилкой. В конце надо сделать ему dispose. Вариант использования:

         Window waitwindow = null;
         try
         {
             waitwindow = ClientUtils.showWaitWindow("wait...");
             ...
         }
         finally
         {
             waitwindow.dispose();
         }

    Parameters:
      `message` - сообщение
    Returns:
      указатель на окно, которое надо будет закрыть.

  - ### getComponentKey

    public static String getComponentKey(Component c, String suffix)
    Получает из указанного компонента его ключ текстовый, чтобы сохранить в конфиге юзера, например, какие-то данные о нём.
    Parameters:
      `c` - компонент
      `suffix` - строка-окончание, если null, то возвращается только префикс без этого суффикса
    Returns:
      строка-ключ

  - ### getLocalSettingFolder

    public static File getLocalSettingFolder()

  - ### addComponentToPanel

    public static int addComponentToPanel(JPanel panel, int gridy, Component[][] components, boolean addBottom)

  - ### openContract

    public static void openContract(int contractId)
    Открыть в клиенте вкладку с договором.

  - ### openContract

    public static void openContract(int contractId, String tabClass)
    Открыть в клиенте вкладку с договором. И открыть на ней указанную вкладку.

  - ### openContract

    public static void openContract(int contractId, String tabClass, Object parameter)
    Открыть в клиенте вкладку с договором. Открыть на ней определённую вкладку и передать туда какой то определённый параметр.

  - ### openContract

    public static void openContract(bitel.billing.module.common.table.BGTable table, String idCol)
    Открыть в клиенте вкладку с договором. По таблице и названию столбца в ней где содержится contractId.

  - ### setShortCodeForSearchOfClasses

    public static KeyStroke setShortCodeForSearchOfClasses(ActionMap actionMap, InputMap inputMap, Container container)

  - ### toBGUListItemList

    public static List<ru.bitel.bgbilling.common.model.BGUListItem> toBGUListItemList(List<?> list)

  - ### toBGUListItemList

    public static List<ru.bitel.bgbilling.common.model.BGUListItem> toBGUListItemList(Iterable<Element> iterable)