Package org.jbpm.process.instance.event.listeners

## Class RuleAwareProcessEventLister

- java.lang.Object
- - org.jbpm.process.instance.event.listeners.RuleAwareProcessEventLister

- All Implemented Interfaces:
    `EventListener`, `org.kie.api.event.process.ProcessEventListener`

      public class RuleAwareProcessEventLister
      extends Object
      implements org.kie.api.event.process.ProcessEventListener

  Process event listener that is responsible for managing process instance as fact so rules can reason over it. It ensure that process instance is inserted as soon as it starts and gets retracted as soon as process instance completes. In addition it updates process instance whenever process variable is updated.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `RuleAwareProcessEventLister()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `afterNodeLeft​(org.kie.api.event.process.ProcessNodeLeftEvent event)` |
    `void` | `afterNodeTriggered​(org.kie.api.event.process.ProcessNodeTriggeredEvent event)` |
    `void` | `afterProcessCompleted​(org.kie.api.event.process.ProcessCompletedEvent event)` |
    `void` | `afterProcessStarted​(org.kie.api.event.process.ProcessStartedEvent event)` |
    `void` | `afterVariableChanged​(org.kie.api.event.process.ProcessVariableChangedEvent event)` |
    `void` | `beforeNodeLeft​(org.kie.api.event.process.ProcessNodeLeftEvent event)` |
    `void` | `beforeNodeTriggered​(org.kie.api.event.process.ProcessNodeTriggeredEvent event)` |
    `void` | `beforeProcessCompleted​(org.kie.api.event.process.ProcessCompletedEvent event)` |
    `void` | `beforeProcessStarted​(org.kie.api.event.process.ProcessStartedEvent event)` |
    `void` | `beforeVariableChanged​(org.kie.api.event.process.ProcessVariableChangedEvent event)` |
    `protected org.kie.api.runtime.rule.FactHandle` | `getProcessInstanceFactHandle​(Long processInstanceId, org.kie.api.runtime.KieRuntime kruntime)` |

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

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

    - ### Methods inherited from interface org.kie.api.event.process.ProcessEventListener

      `afterSLAViolated, beforeSLAViolated, onAsyncNodeScheduledEvent, onMessage, onProcessDataChangedEvent, onSignal`

- - ### Constructor Detail

    - #### RuleAwareProcessEventLister

          public RuleAwareProcessEventLister()

  - ### Method Detail

    - #### beforeProcessStarted

          public void beforeProcessStarted​(org.kie.api.event.process.ProcessStartedEvent event)

      Specified by:
        `beforeProcessStarted` in interface `org.kie.api.event.process.ProcessEventListener`

    - #### afterProcessStarted

          public void afterProcessStarted​(org.kie.api.event.process.ProcessStartedEvent event)

      Specified by:
        `afterProcessStarted` in interface `org.kie.api.event.process.ProcessEventListener`

    - #### beforeProcessCompleted

          public void beforeProcessCompleted​(org.kie.api.event.process.ProcessCompletedEvent event)

      Specified by:
        `beforeProcessCompleted` in interface `org.kie.api.event.process.ProcessEventListener`

    - #### afterProcessCompleted

          public void afterProcessCompleted​(org.kie.api.event.process.ProcessCompletedEvent event)

      Specified by:
        `afterProcessCompleted` in interface `org.kie.api.event.process.ProcessEventListener`

    - #### beforeNodeTriggered

          public void beforeNodeTriggered​(org.kie.api.event.process.ProcessNodeTriggeredEvent event)

      Specified by:
        `beforeNodeTriggered` in interface `org.kie.api.event.process.ProcessEventListener`

    - #### afterNodeTriggered

          public void afterNodeTriggered​(org.kie.api.event.process.ProcessNodeTriggeredEvent event)

      Specified by:
        `afterNodeTriggered` in interface `org.kie.api.event.process.ProcessEventListener`

    - #### beforeNodeLeft

          public void beforeNodeLeft​(org.kie.api.event.process.ProcessNodeLeftEvent event)

      Specified by:
        `beforeNodeLeft` in interface `org.kie.api.event.process.ProcessEventListener`

    - #### afterNodeLeft

          public void afterNodeLeft​(org.kie.api.event.process.ProcessNodeLeftEvent event)

      Specified by:
        `afterNodeLeft` in interface `org.kie.api.event.process.ProcessEventListener`

    - #### beforeVariableChanged

          public void beforeVariableChanged​(org.kie.api.event.process.ProcessVariableChangedEvent event)

      Specified by:
        `beforeVariableChanged` in interface `org.kie.api.event.process.ProcessEventListener`

    - #### afterVariableChanged

          public void afterVariableChanged​(org.kie.api.event.process.ProcessVariableChangedEvent event)

      Specified by:
        `afterVariableChanged` in interface `org.kie.api.event.process.ProcessEventListener`

    - #### getProcessInstanceFactHandle

          protected org.kie.api.runtime.rule.FactHandle getProcessInstanceFactHandle​(Long processInstanceId,
                                                                                     org.kie.api.runtime.KieRuntime kruntime)