Package ru.bitel.bgbilling.kernel.directory.api.common.bean

# Interface Directory<K extends Id>

All Known Implementing Classes:
  `AbstractAddressDao`, `ru.bitel.common.dao.AbstractDirectoryIdDao`, `AreaDao`, `ChargeTypeDao`, `CityDao`, `ContractGroupDao`, `ContractObjectTypeDao`, `ContractParameterGroupAttrDao`, `ContractParameterGroupDao`, `ContractParameterListItemDao`, `ContractParameterMultiListItemDao`, `CostMapManager`, `CountryDao`, `DeviceGroupDao`, `DeviceTypeDao`, `DocumentJournalDao`, `DocumentStatusDao`, `DocumentTypeDao`, `DomainDao`, `EntitySpecAttrDao`, `EntitySpecAttrListItemDao`, `EntitySpecDao`, `GroupRightDao`, `HouseDao`, `InetDeviceTypeDao`, `InetOptionDao`, `InetServTypeDao`, `ObjectParameterGroupAttrDao`, `PackerKitDao`, `PaymentTypeDao`, `ProductSpecDao`, `QuarterDao`, `RangeMapDao`, `ReserveTypeDao`, `ServiceDao`, `ServiceManager`, `ServiceSpecDao`, `SmartHousePackageBaseDao`, `StreetDao`, `SubscriptionModeDao`, `SubscriptionTypeDao`, `SubscriptionTypeDao`, `TariffGroupDao`, `TariffPlanDao`, `TrafficRangeSpecDao`, `TrafficTypeDao`, `TrafficTypeLinkDao`, `TvAccountSpecDao`, `TvChannelSpecDao`, `TvDeviceTypeDao`, `UserInfoDao`, `VoiceAccountTypeAbstractDao`, `VoiceAccountTypeDao`, `VoiceDeviceTypeDao`, `VoiceOperAccountTypeDao`, `VoiceOptionDao`, `VoiceZoneDao`

public interface Directory<K extends Id>
"Справочник" для бинов, которые изменяются редко, но используются в нескольких местах другими бинами.
Например, "тип" чего-то.
Такой бин должен быть аннотирован `DirectoryItem`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `delete(int id)`
  Удаление элемента по id
  `K`
  `get(int id)`
  Получение элемента по id
  `K`
  `get(String title)`
  Получение элемента по title(name)
  Может быть не имплементировано - в этом случае бросается `UnsupportedOperationException`
  `List<K>`
  `list()`
  Получение всего списка элементов из справочника
  `default Optional<K>`
  `opt(int id)`
  `void`
  `update(K k)`
  Изменение/добавление элемента справочника

- ## Method Details

  - ### get

    K get(int id) throws ru.bitel.bgbilling.common.BGException
    Получение элемента по id
    Parameters:
      `id` -
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### opt

    default Optional<K> opt(int id) throws Exception
    Throws:
      `Exception`

  - ### get

    K get(String title) throws ru.bitel.bgbilling.common.BGException
    Получение элемента по title(name)
    Может быть не имплементировано - в этом случае бросается `UnsupportedOperationException`
    Parameters:
      `title` -
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### list

    List<K> list() throws Exception
    Получение всего списка элементов из справочника
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### update

    void update(K k) throws Exception
    Изменение/добавление элемента справочника
    Parameters:
      `k` -
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### delete

    int delete(int id) throws Exception
    Удаление элемента по id
    Parameters:
      `id` -
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`