Class Event

java.lang.Object
ru.bitel.bgbilling.kernel.event.Event
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
ApplicationRunningEvent, CheckApplicationRunEvent, ContractModifiedEvent, ContractStatusChangedTopicEvent, ContractTariffChangedEvent, ContractTariffOptionChangedEvent, ru.bitel.bgbilling.kernel.directory.api.common.DirectoryItemModifiedEvent, EventScriptLinkDeletedEvent, EventScriptLinkModifiedEvent, GeoCodeUpdateEvent, InetReloadEvent, InetServModifiedEvent, InetServRestrictionModifiedEvent, IpResourceModifiedEvent, ModulesChangedEvent, NasListModifiedEvent, NewsModifiedEvent, PluginConfigModifiedEvent, PoolEvent, ProductModifiedEvent, ProductModifiedEvent, ProductPeriodModifiedEvent, QueueEvent, ScriptUpdatedEvent, ServiceLinkModifiedEvent, ServiceModifiedEvent, ServicesChangedEvent, TariffTreeModifiedEvent, TimeTypesChangedEvent, TvAccountModifiedEvent, TvReloadEvent, VoiceAccountDeviceStateModifiedEvent, VoiceAccountModifiedEvent, VoiceCostMapUpdateEvent, VoiceDevicesReloadEvent, VoiceOperAccountModifiedEvent, VoiceSessionFinishDeviceEvent, VoiceZoneMapUpdateEvent

public abstract class Event
extends java.lang.Object
implements java.io.Serializable
Абстрактный супер класс для всех событий.
Publisher-Subscriber событие. Может доставляться нескольким слушателям в отличие от QueueEvent
Если слушатель был неактивен в момент отправки - он это событие не получит.

Каждый расширяющий класс должен иметь сгенерированный serialVersionUID для совместимости с перекомпилянной версией.
Также в каждом конечном классе события должна присутствовать аннотация XmlRootElement и пустой коструктор (protected).
Для простых полей (например, int long String и т.п.) желательно указывать аннотацию XmlAttribute. Для событий которых может быть сразу несколько (например, событие изменения баланса)
возможно стоит делать один объект-событие (также смотри PoolEvent).
See Also:
Serialized Form
  • Field Summary

    Fields
    Modifier and Type Field Description
    protected static int CONTRACT_GLOBAL  
    protected static int NO_MODULE  
    protected static int NO_PLUGIN  
  • Constructor Summary

    Constructors
    Modifier Constructor Description
    protected Event()  
      Event​(int moduleId, int contractId, int userId)
    Конструктор события ядра или модуля.
      Event​(int moduleId, int pluginId, int contractId, int userId)
    Конструктор события плагина.
  • Method Summary

    Modifier and Type Method Description
    int getContractId()
    Код договора с которым произошло событие.
    protected java.lang.String getDestination​(java.lang.Class<?> clazz)  
    java.util.Calendar getGenerateTime()
    Deprecated.
    int getModuleId()
    Код сгенерировашего событие модуля, 0 - ядро
    int getPluginId()  
    int getSuperContractId()
    Код супер договора для зависимого субдоговора.
    java.util.Calendar getTime()  
    long getTimestamp()  
    int getTypeId()
    Deprecated.
    int getUserId()
    Код пользователя биллинга, сформировавшего событие.
    boolean isLogFunctionProcess()  
    protected void prepareMessage​(javax.jms.Message message)  
    protected boolean serializeAsObject()  
    void setLogFunctionProcess​(boolean logFunctionProcess)  
    java.lang.String toString()  
    protected void toString​(java.lang.StringBuilder sb)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • NO_MODULE

      protected static int NO_MODULE
    • NO_PLUGIN

      protected static int NO_PLUGIN
    • CONTRACT_GLOBAL

      protected static int CONTRACT_GLOBAL
  • Constructor Details

    • Event

      protected Event()
    • Event

      public Event​(int moduleId, int pluginId, int contractId, int userId)
      Конструктор события плагина.
      Parameters:
      moduleId - NO_MODULE.
      pluginId - uid плагина.
      contractId - код договора, для глобальных событий должен быть = CONTRACT_GLOBAL.
      userId - код пользователя биллинга.
    • Event

      public Event​(int moduleId, int contractId, int userId)
      Конструктор события ядра или модуля.
      Parameters:
      moduleId - 0 для ядра, либо код экземпляра модуля.
      contractId - код договора, для глобальных событий должен быть = -1.
      userId - код пользователя.
  • Method Details

    • prepareMessage

      protected void prepareMessage​(javax.jms.Message message) throws javax.jms.JMSException
      Throws:
      javax.jms.JMSException
    • getModuleId

      public int getModuleId()
      Код сгенерировашего событие модуля, 0 - ядро
      Returns:
      int
    • getContractId

      public int getContractId()
      Код договора с которым произошло событие. Для глобальных событий должен быть = -1 (CONTRACT_GLOBAL)
      Returns:
      int
    • getSuperContractId

      public int getSuperContractId()
      Код супер договора для зависимого субдоговора. В данный момент это поле постоянно равно -1 и нигде не используется.
      Returns:
    • getUserId

      public int getUserId()
      Код пользователя биллинга, сформировавшего событие.
      Returns:
      код пользователя биллинга
    • getTypeId

      @Deprecated public int getTypeId()
      Deprecated.
      Для поддержки совместимости со старыми событиями с данным методом, который могли использовать скрипты. Использовать проверку instanceof.
      Returns:
    • getGenerateTime

      @Deprecated public java.util.Calendar getGenerateTime()
      Deprecated.
      Время генерации события системой
      Returns:
      Calendar
    • getTime

      public java.util.Calendar getTime()
    • getTimestamp

      public long getTimestamp()
    • toString

      protected void toString​(java.lang.StringBuilder sb)
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class java.lang.Object
    • getPluginId

      public int getPluginId()
    • getDestination

      protected java.lang.String getDestination​(java.lang.Class<?> clazz)
    • isLogFunctionProcess

      public boolean isLogFunctionProcess()
    • setLogFunctionProcess

      public void setLogFunctionProcess​(boolean logFunctionProcess)
    • serializeAsObject

      protected boolean serializeAsObject()