ru.bitel.bgbilling.kernel.event.events

## Class ContractStatusChangingEvent

- java.lang.Object
- - ru.bitel.bgbilling.kernel.event.Event
  - - ru.bitel.bgbilling.kernel.event.QueueEvent
    - - ru.bitel.bgbilling.kernel.event.LocalEvent
      - - ru.bitel.bgbilling.kernel.event.events.ContractStatusChangingEvent

- All Implemented Interfaces:
    java.io.Serializable

      public class ContractStatusChangingEvent
      extends LocalEvent

  Синхронное событие - изменение статуса договора.
  Событие вызывается при смене статуса договора.
  Позволяет изменить устанавливаемый статус, в том числе, при смене статуса из web.
  Унаследован от `LocalEvent`
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class ru.bitel.bgbilling.kernel.event.Event

      `CONTRACT_GLOBAL, NO_MODULE, NO_PLUGIN`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ContractStatusChangingEvent(int userId, ContractStatus status, ContractStatus originalStatus)` Конструктор события.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `ContractStatus` | `getOriginalStatus()` Возвращает оригинальный статус (исходный).
    `ContractStatus` | `getStatus()` Возвращает устанавливаемый статус договора.
    `int` | `getTypeId()` Deprecated.
    `boolean` | `isWeb()` Deprecated. использовать полный аналог
        event.getUserId()==User.USER_CONTRACT

    - ### Methods inherited from class ru.bitel.bgbilling.kernel.event.Event

      `getContractId, getContractID, getDestination, getGenerateTime, getModuleId, getModuleID, getPluginId, getSuperContractId, getTime, getTimestamp, getUserId, isLogFunctionProcess, prepareMessage, serializeAsObject, setLogFunctionProcess, toString, toString`

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

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

- - ### Constructor Detail

    - #### ContractStatusChangingEvent

          public ContractStatusChangingEvent(int userId,
                                             ContractStatus status,
                                             ContractStatus originalStatus)

      Конструктор события.
      Оригинальный статус (исходный) будет отличаться от основного, если статус был разбит/отрезан/изменен при пересечении с разными кусками неперетираемых статусов.
      Parameters:
        `userId` - - id пользователя, сгенерировавшего событие
        `status` - - статус договора
        `originalStatus` - - оригинальный статус договора

  - ### Method Detail

    - #### getStatus

          public ContractStatus getStatus()

      Возвращает устанавливаемый статус договора.
      Если использовалась логика смены статусов скриптом и там приходящий статус как-либо менялся, то этот статус будет тем, что было на выходе в итоге из тех скриптов.
      Returns:
        status - статус договора

    - #### isWeb

          @Deprecated
          public boolean isWeb()

      Deprecated. использовать полный аналог

          event.getUserId()==User.USER_CONTRACT

      Возвращает признак того, что смена инициирована из веба.
      Returns:
        true - из веба, false - не из веба.
      See Also:
        `User`

    - #### getOriginalStatus

          public ContractStatus getOriginalStatus()

      Возвращает оригинальный статус (исходный).
      Он будет отличаться от основного, если статус был разбит/отрезан/изменен при пересечении с разными кусками неперетираемых статусов.
      Он будет равен (не ссылочно, а значением) статусу `getStatus()`, если не использовалась никакая логика смены статусов скриптом или там не менялся приходящий статус.
      Тогда и там и там будет оригинальный статус. Иначе там будет изменённый а здесь - оригинальный.
      Этот статус менять в скрипте нельзя!.

    - #### getTypeId

          @Deprecated
          public int getTypeId()

      Deprecated.
      Использовать проверку instanceof.
      Overrides:
        `getTypeId` in class `Event`
      Returns: