Class DecisionTask

All Implemented Interfaces:
HasHandlers
Direct Known Subclasses:
XORGateway

public class DecisionTask extends ProcessElement
Chooses one or another next process element based on AdvancedCriteria applied to Process.state.

If the AdvancedCriteria evaluate to true, the nextElement is chosen, otherwise the failureElement.

  • Constructor Details

    • DecisionTask

      public DecisionTask()
    • DecisionTask

      public DecisionTask(JavaScriptObject jsObj)
    • DecisionTask

      public DecisionTask(String ID, String nextElement, String failureElement)
  • Method Details

    • getOrCreateRef

      public static DecisionTask getOrCreateRef(JavaScriptObject jsObj)
    • create

      public JavaScriptObject create()
      Overrides:
      create in class ProcessElement
    • setCriteria

      public DecisionTask setCriteria(Criteria criteria) throws IllegalStateException
      Simple or AdvancedCriteria to be applied against the Process.state.

      Data values in this criteria prefixed with "$" will be treated as dynamic expressions as detailed in TaskInputExpression. Specifically, this means that for simple criteria, any property value that is a String and is prefixed with "$" will be assumed to be an expression, and for AdvancedCriteria, the same treatment will be applied to Criterion.value.

      Note that dynamic expressions starting with "$input" are not applicable for an DecisionTask but "$inputRecord" can be used for direct reference to Process.state.

      This property supports DynamicCriteria - use Criterion.valuePath to refer to values in the Process.ruleScope.

      Parameters:
      criteria - New criteria value. Default value is null
      Returns:
      DecisionTask instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the underlying component has been created
    • getCriteria

      public Criteria getCriteria()
      Simple or AdvancedCriteria to be applied against the Process.state.

      Data values in this criteria prefixed with "$" will be treated as dynamic expressions as detailed in TaskInputExpression. Specifically, this means that for simple criteria, any property value that is a String and is prefixed with "$" will be assumed to be an expression, and for AdvancedCriteria, the same treatment will be applied to Criterion.value.

      Note that dynamic expressions starting with "$input" are not applicable for an DecisionTask but "$inputRecord" can be used for direct reference to Process.state.

      This property supports DynamicCriteria - use Criterion.valuePath to refer to values in the Process.ruleScope.

      Returns:
      Current criteria value. Default value is null
    • setFailureElement

      public DecisionTask setFailureElement(String failureElement) throws IllegalStateException
      ID of the next sequence or element to proceed to if the criteria do not match.
      Parameters:
      failureElement - New failureElement value. Default value is null
      Returns:
      DecisionTask instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the underlying component has been created
    • getFailureElement

      public String getFailureElement()
      ID of the next sequence or element to proceed to if the criteria do not match.
      Returns:
      Current failureElement value. Default value is null
    • setNextElement

      public DecisionTask setNextElement(String nextElement) throws IllegalStateException
      Next sequence or element to execute if the criteria match the process state.

      nextElement does not need to be specified if this element is part of a sequence and has a next element in the sequence.

      Note that if there is both a sequence and a normal element with the same name in the current Process, the sequence will be used.

      Overrides:
      setNextElement in class ProcessElement
      Parameters:
      nextElement - New nextElement value. Default value is null
      Returns:
      DecisionTask instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the underlying component has been created
    • getNextElement

      public String getNextElement()
      Next sequence or element to execute if the criteria match the process state.

      nextElement does not need to be specified if this element is part of a sequence and has a next element in the sequence.

      Note that if there is both a sequence and a normal element with the same name in the current Process, the sequence will be used.

      Overrides:
      getNextElement in class ProcessElement
      Returns:
      Current nextElement value. Default value is null