Package org.jbpm.process.workitem.bpmn2

## Class DecisionTaskHandler

- java.lang.Object
- - org.jbpm.process.workitem.core.AbstractLogOrThrowWorkItemHandler
  - - org.jbpm.process.workitem.bpmn2.AbstractRuleTaskHandler
    - - org.jbpm.process.workitem.bpmn2.DecisionTaskHandler

- All Implemented Interfaces:
    `org.kie.api.runtime.process.WorkItemHandler`, `org.kie.internal.runtime.Cacheable`

      @Wid(widfile="DecisionTaskDefinitions.wid",name="DecisionTask",displayName="Decision Task",defaultHandler="mvel: new org.jbpm.process.workitem.bpmn2.DecisionTaskHandler()",documentation="jbpm-workitems-bpmn2/index.html",category="jbpm-workitems-bpmn2",icon="defaultdecisiontaskicon.png",parameters={@WidParameter(name="Namespace",required=true),@WidParameter(name="Model",required=true),@WidParameter(name="Decision")},mavenDepends=@WidMavenDepends(group="org.jbpm",artifact="jbpm-workitems-bpmn2",version="7.62.0.Final"),serviceInfo=@WidService(category="BPMN2",description="Execute business rule or service tasks",keywords="decision,dmn,rule,task",action=@WidAction(title="Execute a DMN decision task"),authinfo=@WidAuth(required=true,params={"groupId","artifactId","version"},paramsdescription={"Group Id","Artifact Id","Version"})))
      public class DecisionTaskHandler
      extends AbstractRuleTaskHandler

  Additional BusinessRuleTask support that allows to decouple rules from processes - as default BusinessRuleTask uses exact same working memory (kie session) as process which essentially means same kbase. To allow better separation and maintainability BusinessRuleTaskHandler is provided that supports:
  - DRL stateful
  - DRL stateless

  Session type can be given by KieSessionType data input and session name can be given as KieSessionName property -these apply to DRL only.

  Results returned will be then put back into the data outputs.
  DRL handling is based on same names for data input and output as that is then used as correlation.

- - ### Field Summary

    - ### Fields inherited from class org.jbpm.process.workitem.bpmn2.AbstractRuleTaskHandler

      `DMN_LANG, DRL_LANG, STATEFUL_TYPE, STATEFULL_TYPE, STATELESS_TYPE`

    - ### Fields inherited from class org.jbpm.process.workitem.core.AbstractLogOrThrowWorkItemHandler

      `handlingProcessId, handlingStrategy, logThrownException, retries`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DecisionTaskHandler​(String groupId, String artifactId, String version)` |
    `DecisionTaskHandler​(String groupId, String artifactId, String version, long scannerInterval)` |
    `DecisionTaskHandler​(String groupId, String artifactId, String version, long scannerInterval, ClassLoader classLoader, org.kie.api.runtime.manager.RuntimeManager runtimeManager)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `String` | `getRuleLanguage()` |

    - ### Methods inherited from class org.jbpm.process.workitem.bpmn2.AbstractRuleTaskHandler

      `abortWorkItem, close, executeWorkItem, getKieContainer, handleDMN, handleStatefull, handleStateless, setRuntimeManager`

    - ### Methods inherited from class org.jbpm.process.workitem.core.AbstractLogOrThrowWorkItemHandler

      `findNodeInstance, handleException, handleException, setLogThrownException`

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

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

- - ### Constructor Detail

    - #### DecisionTaskHandler

          public DecisionTaskHandler​(String groupId,
                                     String artifactId,
                                     String version)

    - #### DecisionTaskHandler

          public DecisionTaskHandler​(String groupId,
                                     String artifactId,
                                     String version,
                                     long scannerInterval)

    - #### DecisionTaskHandler

          public DecisionTaskHandler​(String groupId,
                                     String artifactId,
                                     String version,
                                     long scannerInterval,
                                     ClassLoader classLoader,
                                     org.kie.api.runtime.manager.RuntimeManager runtimeManager)

  - ### Method Detail

    - #### getRuleLanguage

          public String getRuleLanguage()

      Specified by:
        `getRuleLanguage` in class `AbstractRuleTaskHandler`