ru.bitel.oss.systems.inventory.resource.server

## Interface DeviceManager

- All Known Implementing Classes:
    DeviceManagerAdapter

      public interface DeviceManager

  Обработчик управления устройством. Используется для управления/работы с устройством. Класс, реализующий данный интерфейс также может содержать дополнительные методы-команды, вызвать которые можно по имени метода.
  Например:

      public String reboot()
      {
        return "Ok!";
      }

  После старта или перечитывании конфигурации на серверах создается указанная реализация данного интерфейса и сразу после вызова конструктора вызывается метод `init(Setup, int, Device, DeviceType, ParameterMap)`. При необходимости выполнить команду или вызвать `uptime()` сначала вызовется метод `connect()` - в нем должно быть реализовано подключение к устройству, далее будет вызваны методы-команды, после окончания работы будет вызван метод `disconnect()`, в котором должно быть реализовано отключение и закрытие ресурсов, открытых в `connect()`.

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

         connect
           uptime
         disconnect

         connect
           someCommand
           uptime
         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` | `destroy()` Утилизация обработчика.
    `java.lang.Object` | `disconnect()` Отключение от устройства.
    `java.lang.Object` | `init(Setup setup, int moduleId, Device<?,?> device, DeviceType deviceType, ParameterMap config)` Инициализация обработчика.
    `java.lang.Object` | `uptime()` Получение update с устройства.

- - ### Method Detail

    - #### init

          java.lang.Object init(Setup setup,
                                int moduleId,
                                Device<?,?> device,
                                DeviceType 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`

    - #### uptime

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

      Получение update с устройства. Может использоваться для обнаружения перезагрузки устройства или его недоступности.
      Returns:
      Throws:
        `java.lang.Exception`