Package org.flowable.cmmn.api.listener

# Interface PlanItemInstanceLifecycleListener

public interface PlanItemInstanceLifecycleListener
[Experimental] An interface for listener implementations that get notified when the state of a plan item instance changes. The listener can be registered in the configuration of the engine.

Author:
  Joram Barrez

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getSourceState()`
  `String`
  `getTargetState()`
  `void`
  `stateChanged(DelegatePlanItemInstance planItemInstance, String oldState, String newState)`
  Will be called when the state of a `DelegatePlanItemInstance` changes and the `getSourceState()` and `getTargetState()` match.

- ## Method Details

  - ### getSourceState

    String getSourceState()
    Returns:
      The type a plan item instance is changing from, use a value from `PlanItemInstanceState`. This listener will only receive elements where the state changing from this value to another one. Return null or the empty String to listen to any state.

  - ### getTargetState

    String getTargetState()
    Returns:
      The type a plan item instance is changing to, use a value from `PlanItemInstanceState`. This listener will only receive elements where the state changing from this value to another one. Return null or the empty String to listen to any state.

  - ### stateChanged

    void stateChanged(DelegatePlanItemInstance planItemInstance, String oldState, String newState)
    Will be called when the state of a `DelegatePlanItemInstance` changes and the `getSourceState()` and `getTargetState()` match.