Package ru.bitel.bgbilling.apps.inet.access.sa

# Interface ServiceActivator

All Known Implementing Classes:
  `AbstractServiceActivator`, `ServiceActivatorAdapter`

public interface ServiceActivator
Интерфейс обработчика активации сервисов.

    Жизненный цикл:
     init

       connect
         serviceModify
         serviceModify
         serviceCancel
       disconnect

       connect
         serviceCreate
         serviceModify
         connectionModify
         serviceModify
         connectionClose
       disconnect

     destroy

- ## Method Summary

  Modifier and Type
  Method
  Description
  `default List<ru.bitel.bgbilling.common.model.ConfigParameter>`
  `configParameterList()`
  Список доступных параметров активатора
  `Object`
  `connect()`
  Подключение к устройству для работы с ним.
  `Object`
  `connectionClose(ServiceActivatorEvent e)`
  Закрытие (принудительное) соединения.
  Обычно вызывается при `AccessCodes#TOO_MANY_SESSIONS_ERROR` или из метода `connectionModify(ServiceActivatorEvent)`
  `Object`
  `connectionModify(ServiceActivatorEvent e)`
  Изменение соединения.
  `Object`
  `destroy()`
  Утилизация обработчика.
  `Object`
  `disconnect()`
  Отключение от устройства.
  `Object`
  `init(Setup setup, int moduleId, InetDevice device, InetDeviceType deviceType, ParameterMap config)`
  Инициализация обработчика.
  `Object`
  `onAccountingStart(ServiceActivatorEvent event)`
  Обработка старта соединения.
  `Object`
  `onAccountingStop(ServiceActivatorEvent event)`
  Обрабтка стопа соединения.
  `Object`
  `serviceCancel(ServiceActivatorEvent e)`
  Удаление сервиса (по событию удаления или окончания периода действия).
  `Object`
  `serviceCreate(ServiceActivatorEvent e)`
  Создание сервиса (по событию добавления или началу периода действия)
  `Object`
  `serviceModify(ServiceActivatorEvent e)`
  Изменение сервиса (подключение/отключение/изменение скорости).

- ## Method Details

  - ### init

    Object init(Setup setup, int moduleId, InetDevice device, InetDeviceType deviceType, ParameterMap config) throws Exception
    Инициализация обработчика. Вызывается после создания объекта.
    Parameters:
      `setup` -
      `moduleId` -
      `device` -
      `deviceType` -
      `config` -
    Returns:
    Throws:
      `Exception`

  - ### destroy

    Object destroy() throws Exception
    Утилизация обработчика. Вызывается перед уничтожением объекта.
    Returns:
    Throws:
      `Exception`

  - ### connect

    Object connect() throws Exception
    Подключение к устройству для работы с ним.
    Returns:
    Throws:
      `Exception`

  - ### disconnect

    Object disconnect() throws Exception
    Отключение от устройства.
    Returns:
    Throws:
      `Exception`

  - ### serviceCreate

    Object serviceCreate(ServiceActivatorEvent e) throws Exception
    Создание сервиса (по событию добавления или началу периода действия)
    Parameters:
      `e` -
    Returns:
    Throws:
      `Exception`

  - ### serviceModify

    Object serviceModify(ServiceActivatorEvent e) throws Exception
    Изменение сервиса (подключение/отключение/изменение скорости). Вызывается при изменении набора опций или изменении состояния сервиса
    Parameters:
      `e` -
    Returns:
    Throws:
      `Exception`
    See Also:
      - `ServiceActivatorEvent`
      - `ServiceActivatorEvent.getNewState()`

  - ### serviceCancel

    Object serviceCancel(ServiceActivatorEvent e) throws Exception
    Удаление сервиса (по событию удаления или окончания периода действия).
    Parameters:
      `e` -
    Returns:
    Throws:
      `Exception`

  - ### connectionModify

    Object connectionModify(ServiceActivatorEvent e) throws Exception
    Изменение соединения. Вызывается при изменении набора опции на соединении или при изменении состояния.
    Обычно, при `ServiceActivatorEvent.getNewState()` == `InetServ#STATE_DISABLE` из этого метода происходит вызов метода `connectionClose(ServiceActivatorEvent)`
    Parameters:
      `e` -
    Returns:
    Throws:
      `Exception`

  - ### connectionClose

    Object connectionClose(ServiceActivatorEvent e) throws Exception
    Закрытие (принудительное) соединения.
    Обычно вызывается при `AccessCodes#TOO_MANY_SESSIONS_ERROR` или из метода `connectionModify(ServiceActivatorEvent)`
    Parameters:
      `e` -
    Returns:
    Throws:
      `Exception`

  - ### onAccountingStart

    Object onAccountingStart(ServiceActivatorEvent event) throws Exception
    Обработка старта соединения.
    Parameters:
      `event` -
    Returns:
    Throws:
      `Exception`

  - ### onAccountingStop

    Object onAccountingStop(ServiceActivatorEvent event) throws Exception
    Обрабтка стопа соединения.
    Parameters:
      `event` -
    Returns:
    Throws:
      `Exception`

  - ### configParameterList

    default List<ru.bitel.bgbilling.common.model.ConfigParameter> configParameterList()
    Список доступных параметров активатора
    Returns: