ru.bitel.bgbilling.modules.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

  Author:
    amir

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Object` | `connect()` Подключение к устройству для работы с ним.
    `java.lang.Object` | `connectionClose(ServiceActivatorEvent e)` Закрытие (принудительное) соединения.
    `java.lang.Object` | `connectionModify(ServiceActivatorEvent e)` Изменение соединения.
    `java.lang.Object` | `destroy()` Утилизация обработчика.
    `java.lang.Object` | `disconnect()` Отключение от устройства.
    `java.lang.Object` | `init(Setup setup, int moduleId, InetDevice device, InetDeviceType deviceType, ParameterMap config)` Инициализация обработчика.
    `java.lang.Object` | `onAccountingStart(ServiceActivatorEvent event)` Обработка старта соединения.
    `java.lang.Object` | `onAccountingStop(ServiceActivatorEvent event)` Обрабтка стопа соединения.
    `java.lang.Object` | `serviceCancel(ServiceActivatorEvent e)` Удаление сервиса (по событию удаления или окончания периода действия).
    `java.lang.Object` | `serviceCreate(ServiceActivatorEvent e)` Создание сервиса (по событию добавления или началу периода действия)
    `java.lang.Object` | `serviceModify(ServiceActivatorEvent e)` Изменение сервиса (подключение/отключение/изменение скорости).

- - ### Method Detail

    - #### init

          java.lang.Object init(Setup setup,
                                int moduleId,
                                InetDevice device,
                                InetDeviceType deviceType,
                                ParameterMap config)
                         throws java.lang.Exception

      Инициализация обработчика. Вызывается после создания объекта.
      Parameters:
        `setup` -
        `moduleId` -
        `device` -
        `deviceType` -
        `config` -
      Returns:
      Throws:
        `java.lang.Exception`

    - #### destroy

          java.lang.Object destroy()
                            throws java.lang.Exception

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

    - #### connect

          java.lang.Object connect()
                            throws java.lang.Exception

      Подключение к устройству для работы с ним.
      Returns:
      Throws:
        `java.lang.Exception`

    - #### disconnect

          java.lang.Object disconnect()
                               throws java.lang.Exception

      Отключение от устройства.
      Returns:
      Throws:
        `java.lang.Exception`

    - #### serviceCreate

          java.lang.Object serviceCreate(ServiceActivatorEvent e)
                                  throws java.lang.Exception

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

    - #### serviceModify

          java.lang.Object serviceModify(ServiceActivatorEvent e)
                                  throws java.lang.Exception

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

    - #### serviceCancel

          java.lang.Object serviceCancel(ServiceActivatorEvent e)
                                  throws java.lang.Exception

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

    - #### connectionModify

          java.lang.Object connectionModify(ServiceActivatorEvent e)
                                     throws java.lang.Exception

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

    - #### connectionClose

          java.lang.Object connectionClose(ServiceActivatorEvent e)
                                    throws java.lang.Exception

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

    - #### onAccountingStart

          java.lang.Object onAccountingStart(ServiceActivatorEvent event)
                                      throws java.lang.Exception

      Обработка старта соединения.
      Parameters:
        `event` -
      Returns:
      Throws:
        `java.lang.Exception`

    - #### onAccountingStop

          java.lang.Object onAccountingStop(ServiceActivatorEvent event)
                                     throws java.lang.Exception

      Обрабтка стопа соединения.
      Parameters:
        `event` -
      Returns:
      Throws:
        `java.lang.Exception`