Version 5

    A Signal is for general communication within and across Process Levels, across Pools, and between Business Process Diagrams. A Signal is similar to a signal flare that shot into the sky for anyone who might be interested to notice and then react. Thus, there is a source of the Signal, but no specific intended target. This is different than a API Message, which has a specific Source and a specific Target.

     

    A Signal has a

     

    • SignalType
    • FromRef
    • Message

     

    The SignalTypes known to the API are

     

      public enum SignalType
      {
        SYSTEM_START_EVENT_ENTER, SYSTEM_START_EVENT_EXIT, SYSTEM_START_TRIGGER,
        SYSTEM_EVENT_ENTER, SYSTEM_EVENT_EXIT,
        SYSTEM_END_EVENT_ENTER, SYSTEM_END_EVENT_EXIT, 
        SYSTEM_GATEWAY_ENTER, SYSTEM_GATEWAY_EXIT, 
        SYSTEM_PROCESS_ENTER, SYSTEM_PROCESS_EXIT, 
        SYSTEM_SUB_PROCESS_ENTER, SYSTEM_SUB_PROCESS_EXIT, 
        SYSTEM_TASK_ENTER, SYSTEM_TASK_EXIT, SYSTEM_TASK_TRIGGER,
        USER_SIGNAL
      }
    

     

    A Signal is one of the few objects that the API provides directly. You would create a and throw a Signal through the API SignalService like this

     

        Signal signal = new Signal(getID(), SignalType.USER_SIGNAL, "Hello");
        SignalService sigService = SignalService.locateSignalService();
        sigService.throwSignal(signal);
    
    

     

    A component registers a API SignalListener with the API SignalService to catch the Signal.