java.lang.Object
ru.bitel.bgbilling.apps.cashcheck.frk.utils.FrkUtils

public class FrkUtils extends Object
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static Set<Class<?>>
    Ооочень хитрый поиск по каталогам с драйверами...
    static final String
    fn(int num, int width)
    дополняет число нулями до указанной ширины
    static String
     
    static String
     
    static String
    formatMDE(long total)
    Конвертация суммы в МДЕ (целое число) в сумму руб-коп (строкой)
    static String
    getExceptionMessage(Throwable t, Class<?>[] noIncludeClassnameExceptions)
    Превращатель вложенных экзепшенов в более или менее приличное сообщение.
    static final String
    в отличие от Utils.memoryStatus() короче и без переносов строк
    static String
    getUpTime(long _startTime)
     
    static byte[]
    Преобразование строки вида "02 AB 03" в массив байтов.
    static byte
    makeByte(int bit7, int bit6, int bit5, int bit4, int bit3, int bit2, int bit1, int bit0)
     
    static BigDecimal
    Разбор BigDecimal.
    static int
    Разбор целого числа (делано для паролей).
    static long
     
    static Check
    processCommandCheckParameters(String[] parameters, org.apache.logging.log4j.Logger logger)
    замена старого метода, сейчас парсит чек и если что кидает DriverException в обёртке
    static void
    serialize(Node node, Result result, String encoding, boolean indent)
    в отличие от аналога в XMLUtils - падает при проблемах
    static String
     
    static final String
    spaces(int width)
    нужное кол-во пробелов
    static byte[]
    stringToBytes(String s, String delimeter)
    Конвертирование HEX строки вида 0bcf224ba2 или 0BCF224BA2 или 0B-CF-22-4B-A2 в массив байт.
    static boolean
    testBit(byte b, int n)
    Установлен ли бит в байте.
    static boolean
    testBit(int b, int n)
    Установлен ли бит в байте (представленный интом)

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • FrkUtils

      public FrkUtils()
  • Method Details

    • parseInt

      public static int parseInt(String val) throws ru.bitel.bgbilling.apps.cashcheck.frk.server.DriverException
      Разбор целого числа (делано для паролей). Использовать в драйверах only, ибо генерирует его экзепшен.
      Parameters:
      val - значение
      Returns:
      целое число
      Throws:
      ru.bitel.bgbilling.apps.cashcheck.frk.server.DriverException - если число нельзя преобразовать
    • parseLong

      public static long parseLong(String val) throws ru.bitel.bgbilling.apps.cashcheck.frk.server.DriverException
      Throws:
      ru.bitel.bgbilling.apps.cashcheck.frk.server.DriverException
    • parseBigDecimal

      public static BigDecimal parseBigDecimal(String val) throws ru.bitel.bgbilling.apps.cashcheck.frk.server.DriverException
      Разбор BigDecimal. Использовать в драйверах only.
      Parameters:
      val - значение
      Returns:
      BigDecimal-число
      Throws:
      ru.bitel.bgbilling.apps.cashcheck.frk.server.DriverException - если число нельзя преобразовать
    • testBit

      public static boolean testBit(byte b, int n)
      Установлен ли бит в байте.
      Parameters:
      b - байт
      n - номер бита (0..7)
      Returns:
      true - установлен, false - снят.
    • testBit

      public static boolean testBit(int b, int n)
      Установлен ли бит в байте (представленный интом)
      Parameters:
      b - байт в виде int
      n - номер бита (0..7)
      Returns:
      true - установлен, false - снят.
    • makeByte

      public static byte makeByte(int bit7, int bit6, int bit5, int bit4, int bit3, int bit2, int bit1, int bit0)
    • fn

      public static final String fn(int num, int width)
      дополняет число нулями до указанной ширины
    • spaces

      public static final String spaces(int width)
      нужное кол-во пробелов
    • formatMDE

      public static String formatMDE(long total)
      Конвертация суммы в МДЕ (целое число) в сумму руб-коп (строкой)
      Parameters:
      total - сумма в МДЕ
      Returns:
      строка-сумма
    • driversTouch

      public static Set<Class<?>> driversTouch()
      Ооочень хитрый поиск по каталогам с драйверами... Ищем в пакете, по всем контекстам, все классы, имплементящие нужны нам интерфаце.
    • getUpTime

      public static String getUpTime(long _startTime)
    • getMemoryStatus

      public static final String getMemoryStatus()
      в отличие от Utils.memoryStatus() короче и без переносов строк
    • getExceptionMessage

      public static String getExceptionMessage(Throwable t, Class<?>[] noIncludeClassnameExceptions)
      Превращатель вложенных экзепшенов в более или менее приличное сообщение. Например, тройная вложенность превратится в:
       Ошибка трансформации или печати <= ExceptionInInitializerError <= fop config not available
       
      Можно включать имена классов (делается через toString), можно для некоторых не включать (для красоты сообщения) — берётся getMessage, а если его нет, то краткое имя класса экзепшена.
      Parameters:
      t - исходный тровейбл
      noIncludeClassnameExceptions - массив .class экхепшенов для которых не включать имена классов в цепочку сообщений
      Returns:
      строка-описание.
    • serializeToString

      public static String serializeToString(Document xml)
    • serialize

      public static void serialize(Node node, Result result, String encoding, boolean indent)
      в отличие от аналога в XMLUtils - падает при проблемах
    • processCommandCheckParameters

      public static Check processCommandCheckParameters(String[] parameters, org.apache.logging.log4j.Logger logger) throws ru.bitel.bgbilling.apps.cashcheck.frk.server.DriverException
      замена старого метода, сейчас парсит чек и если что кидает DriverException в обёртке
      Throws:
      ru.bitel.bgbilling.apps.cashcheck.frk.server.DriverException
    • hexStringToBytes

      public static byte[] hexStringToBytes(String value)
      Преобразование строки вида "02 AB 03" в массив байтов.
      Parameters:
      value - String
      Returns:
      byte[]
    • stringToBytes

      public static byte[] stringToBytes(String s, String delimeter)
      Конвертирование HEX строки вида 0bcf224ba2 или 0BCF224BA2 или 0B-CF-22-4B-A2 в массив байт.
      Parameters:
      s - строка вида 0bcf224ba2 или 0BCF224BA2
      delimeter - - разделитель, если он нужен
      Returns:
    • formatDate

      public static String formatDate(LocalDate date)
    • formatDateTime

      public static String formatDateTime(LocalDateTime datetime)