Package org.jbpm.process.workitem.bpmn2
Class AbstractRuleTaskHandler
- java.lang.Object
-
- org.jbpm.process.workitem.core.AbstractLogOrThrowWorkItemHandler
-
- org.jbpm.process.workitem.bpmn2.AbstractRuleTaskHandler
-
- All Implemented Interfaces:
org.kie.api.runtime.process.WorkItemHandler,org.kie.internal.runtime.Cacheable
- Direct Known Subclasses:
BusinessRuleTaskHandler,DecisionTaskHandler
public abstract class AbstractRuleTaskHandler extends org.jbpm.process.workitem.core.AbstractLogOrThrowWorkItemHandler implements org.kie.internal.runtime.CacheableAdditional 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
- DMN
Session type can be given by KieSessionType data input and session name can be given as KieSessionName property -these apply to DRL only.
DMN support following data inputs:
- Namespace - DMN namespace to be used - mandatory
- Model - DMN model to be used - mandatory
- Decision - DMN decision name to be used - optional
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.
DMN handling receives all data from DMNResult.
-
-
Field Summary
Fields Modifier and Type Field Description protected static StringDMN_LANGprotected static StringDRL_LANGprotected static StringSTATEFUL_TYPEprotected static StringSTATEFULL_TYPEprotected static StringSTATELESS_TYPE
-
Constructor Summary
Constructors Constructor Description AbstractRuleTaskHandler(String groupId, String artifactId, String version)AbstractRuleTaskHandler(String groupId, String artifactId, String version, long scannerInterval)AbstractRuleTaskHandler(String groupId, String artifactId, String version, long scannerInterval, ClassLoader classLoader, org.kie.api.runtime.manager.RuntimeManager runtimeManager)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidabortWorkItem(org.kie.api.runtime.process.WorkItem workItem, org.kie.api.runtime.process.WorkItemManager manager)voidclose()voidexecuteWorkItem(org.kie.api.runtime.process.WorkItem workItem, org.kie.api.runtime.process.WorkItemManager manager)org.kie.api.runtime.KieContainergetKieContainer()abstract StringgetRuleLanguage()protected voidhandleDMN(org.kie.api.runtime.process.WorkItem workItem, Map<String,Object> parameters, Map<String,Object> results)protected voidhandleStatefull(org.kie.api.runtime.process.WorkItem workItem, String kieSessionName, Map<String,Object> parameters, Map<String,Object> results)protected voidhandleStateless(org.kie.api.runtime.process.WorkItem workItem, String kieSessionName, Map<String,Object> parameters, Map<String,Object> results)voidsetRuntimeManager(org.kie.api.runtime.manager.RuntimeManager runtimeManager)
-
-
-
Field Detail
-
STATELESS_TYPE
protected static final String STATELESS_TYPE
- See Also:
- Constant Field Values
-
STATEFULL_TYPE
protected static final String STATEFULL_TYPE
- See Also:
- Constant Field Values
-
STATEFUL_TYPE
protected static final String STATEFUL_TYPE
- See Also:
- Constant Field Values
-
DRL_LANG
protected static final String DRL_LANG
- See Also:
- Constant Field Values
-
DMN_LANG
protected static final String DMN_LANG
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
AbstractRuleTaskHandler
public AbstractRuleTaskHandler(String groupId, String artifactId, String version)
-
AbstractRuleTaskHandler
public AbstractRuleTaskHandler(String groupId, String artifactId, String version, long scannerInterval)
-
AbstractRuleTaskHandler
public AbstractRuleTaskHandler(String groupId, String artifactId, String version, long scannerInterval, ClassLoader classLoader, org.kie.api.runtime.manager.RuntimeManager runtimeManager)
-
-
Method Detail
-
getRuleLanguage
public abstract String getRuleLanguage()
-
executeWorkItem
public void executeWorkItem(org.kie.api.runtime.process.WorkItem workItem, org.kie.api.runtime.process.WorkItemManager manager)- Specified by:
executeWorkItemin interfaceorg.kie.api.runtime.process.WorkItemHandler
-
abortWorkItem
public void abortWorkItem(org.kie.api.runtime.process.WorkItem workItem, org.kie.api.runtime.process.WorkItemManager manager)- Specified by:
abortWorkItemin interfaceorg.kie.api.runtime.process.WorkItemHandler
-
setRuntimeManager
public void setRuntimeManager(org.kie.api.runtime.manager.RuntimeManager runtimeManager)
-
close
public void close()
- Specified by:
closein interfaceorg.kie.internal.runtime.Cacheable
-
handleStatefull
protected void handleStatefull(org.kie.api.runtime.process.WorkItem workItem, String kieSessionName, Map<String,Object> parameters, Map<String,Object> results)
-
handleStateless
protected void handleStateless(org.kie.api.runtime.process.WorkItem workItem, String kieSessionName, Map<String,Object> parameters, Map<String,Object> results)
-
handleDMN
protected void handleDMN(org.kie.api.runtime.process.WorkItem workItem, Map<String,Object> parameters, Map<String,Object> results)
-
getKieContainer
public org.kie.api.runtime.KieContainer getKieContainer()
-
-