ru.bitel.bgbilling.plugins.cashcheck.server.bean

## Class PrinterManager

- java.lang.Object
- - ru.bitel.bgbilling.plugins.cashcheck.server.bean.PrinterManager

-     public class PrinterManager
      extends java.lang.Object

  Класс, предоставляющий доступ к информации о принтерах (из конфига), парсящий её, управляющий авторизацией и логинами на принтер и т.д.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `PrinterManager.PaymentMapping`
    `static class` | `PrinterManager.PaymentPrintMode`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PrinterManager(ru.bitel.bgbilling.kernel.plugin.server.BGPluginServer plugin)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static int` | `getCurrentRegistratorId()` Номер залогиненного регистратора.
    `static java.lang.String` | `getCurrentRegistratorPassword()` Текущий пароль залогиненного юзера в регистратор.
    `Printer` | `getPrinter()` Возвращает текущий выбранный принтер.
    `Printer` | `getPrinter(int kkmNum)` Возвращает указанный по номеру принтер.
    `java.util.Collection<Printer>` | `getPrinters()` Список всех настроенных принтеров в конфиге.
    `PrinterManager.PaymentMapping` | `getPt(int paymentTypeId)` возвращает один PaymentMapping для указанного типа платежа, или null если не настроено на этот тип
    `java.util.Map<java.lang.Integer,PrinterManager.PaymentMapping>` | `getPtMap()` Возвращает Мэпинг типов платежей на регистраторы.
    `java.util.Map<java.lang.Integer,java.util.List<java.lang.Integer>>` | `getRegistratorPtMap()` Платежи регистраторов.
    `static void` | `resetCache()`
    `static void` | `setCurrentRegistrator(int registratorId, java.lang.String password)` Запись в сессию ИД регистратора, на котором пользователь залогинен.

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

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

- - ### Constructor Detail

    - #### PrinterManager

          public PrinterManager(ru.bitel.bgbilling.kernel.plugin.server.BGPluginServer plugin)

  - ### Method Detail

    - #### getPrinters

          public java.util.Collection<Printer> getPrinters()

      Список всех настроенных принтеров в конфиге.
      Returns:
        коллекшен принтеров.

    - #### getPtMap

          public java.util.Map<java.lang.Integer,PrinterManager.PaymentMapping> getPtMap()

      Возвращает Мэпинг типов платежей на регистраторы.
      Returns:
        тип_платежа=>PaymentMapping[список номеров_регистраторов(всегда не null), итд].

    - #### getPt

          public PrinterManager.PaymentMapping getPt(int paymentTypeId)

      возвращает один PaymentMapping для указанного типа платежа, или null если не настроено на этот тип

    - #### getRegistratorPtMap

          public java.util.Map<java.lang.Integer,java.util.List<java.lang.Integer>> getRegistratorPtMap()

      Платежи регистраторов. Мэп обратный getPtMap(). Показываются привязки со ВСЕМИ режимами печати.
      Returns:
        мэп: номер_регистратора => [список типов платежей]. Pt выбираются из существующего getPtMap().

    - #### setCurrentRegistrator

          public static void setCurrentRegistrator(int registratorId,
                                                   java.lang.String password)

      Запись в сессию ИД регистратора, на котором пользователь залогинен. И пароля пользователя. Передаём 0 - это значит мы разлогиниваемся.
      Parameters:
        `registratorId` - номер регистратора в системе.
        `password` - пароль введённый.

    - #### getCurrentRegistratorId

          public static int getCurrentRegistratorId()

      Номер залогиненного регистратора.
      Returns:
        номер регистратора, или 0 если не выбран регистратор.

    - #### getCurrentRegistratorPassword

          public static java.lang.String getCurrentRegistratorPassword()

      Текущий пароль залогиненного юзера в регистратор. Используется при отправке команды на удалённый сервер печати.
      Returns:
        строка-пароль

    - #### getPrinter

          public Printer getPrinter()
                             throws BGPrinterNotloggedMessageException,
                                    ru.bitel.bgbilling.common.BGException

      Возвращает текущий выбранный принтер. Если не выбран текущий - бросается экзепшен с ошибкой. Не настроен - тоже. Используется в экшенах с действиями к принтеру, в остальных (запрос очереди итд) может использоваться getCurrentRegistratorId() отдельно. Внимание - это просто объект из мэпа настроек, никакого коннекта если не найден принтер - не происходит.
      Returns:
        экземпляр объекта "текущий принтер на который вошли", всегда не null. при любом казусе (незалогинен, ненастроен) бросается экзепшен. Возвращается клон принтера, а не оригинал из мапа. Чтобы можно было переопределять дальше его, перетирать внутри, а мап не ломался от этого.
      Throws:
        `BGPrinterNotloggedMessageException` - незалогинен, по нему можно отличить необходимость войти
        `ru.bitel.bgbilling.common.BGException` - остальные ошибки, например, ненастроеный принтер.

    - #### getPrinter

          public Printer getPrinter(int kkmNum)
                             throws ru.bitel.bgbilling.common.BGException

      Возвращает указанный по номеру принтер. Возвращается клон принтера, а не оригинал из мапа. Чтобы можно было переопределять дальше его, перетирать внутри, а мап не ломался от этого.
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### resetCache

          public static void resetCache()