Class DecisionTableEvaluationHandler
java.lang.Object
org.camunda.bpm.dmn.engine.impl.evaluation.DecisionTableEvaluationHandler
- All Implemented Interfaces:
DmnDecisionLogicEvaluationHandler
public class DecisionTableEvaluationHandler
extends Object
implements DmnDecisionLogicEvaluationHandler
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final List<DmnDecisionTableEvaluationListener>protected final ExpressionEvaluationHandlerprotected final org.camunda.bpm.dmn.feel.impl.FeelEngineprotected final Stringprotected final Stringprotected final Stringprotected final boolean -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected longcalculateExecutedDecisionElements(DmnDecisionTableImpl decisionTable) evaluate(DmnDecision decision, org.camunda.bpm.engine.variable.context.VariableContext variableContext) Evaluate a decision with the givenVariableContext.protected voidevaluateDecisionTable(DmnDecisionTableImpl decisionTable, org.camunda.bpm.engine.variable.context.VariableContext variableContext, DmnDecisionTableEvaluationEventImpl evaluationResult) protected ObjectevaluateFeelSimpleUnaryTests(DmnDecisionTableInputImpl input, DmnExpressionImpl condition, org.camunda.bpm.engine.variable.context.VariableContext variableContext) protected DmnEvaluatedInputevaluateInput(DmnDecisionTableInputImpl input, org.camunda.bpm.engine.variable.context.VariableContext variableContext) protected ObjectevaluateInputEntry(DmnDecisionTableInputImpl input, DmnExpressionImpl condition, org.camunda.bpm.engine.variable.context.VariableContext variableContext) protected ObjectevaluateInputExpression(DmnExpressionImpl expression, org.camunda.bpm.engine.variable.context.VariableContext variableContext) protected List<DmnDecisionTableRuleImpl>evaluateInputForAvailableRules(int conditionIdx, DmnDecisionTableInputImpl input, List<DmnDecisionTableRuleImpl> availableRules, org.camunda.bpm.engine.variable.context.VariableContext variableContext) protected DmnEvaluatedDecisionRuleevaluateMatchingRule(List<DmnDecisionTableOutputImpl> decisionTableOutputs, DmnDecisionTableRuleImpl matchingRule, org.camunda.bpm.engine.variable.context.VariableContext variableContext) protected Map<String,DmnEvaluatedOutput> evaluateOutputEntries(List<DmnDecisionTableOutputImpl> decisionTableOutputs, DmnDecisionTableRuleImpl matchingRule, org.camunda.bpm.engine.variable.context.VariableContext variableContext) protected ObjectevaluateOutputEntry(DmnExpressionImpl conclusion, org.camunda.bpm.engine.variable.context.VariableContext variableContext) Generates the decision evaluation result of the given event.protected org.camunda.bpm.engine.variable.context.VariableContextgetLocalVariableContext(DmnDecisionTableInputImpl input, DmnEvaluatedInput evaluatedInput, org.camunda.bpm.engine.variable.context.VariableContext variableContext) protected booleanisConditionApplicable(DmnDecisionTableInputImpl input, DmnExpressionImpl condition, org.camunda.bpm.engine.variable.context.VariableContext variableContext) protected booleanisNonEmptyExpression(DmnExpressionImpl expression) protected voidsetEvaluationOutput(DmnDecisionTableImpl decisionTable, List<DmnDecisionTableRuleImpl> matchingRules, org.camunda.bpm.engine.variable.context.VariableContext variableContext, DmnDecisionTableEvaluationEventImpl evaluationResult)
-
Field Details
-
expressionEvaluationHandler
-
feelEngine
protected final org.camunda.bpm.dmn.feel.impl.FeelEngine feelEngine -
evaluationListeners
-
inputExpressionExpressionLanguage
-
inputEntryExpressionLanguage
-
outputEntryExpressionLanguage
-
returnBlankTableOutputAsNull
protected final boolean returnBlankTableOutputAsNull
-
-
Constructor Details
-
DecisionTableEvaluationHandler
-
-
Method Details
-
evaluate
public DmnDecisionLogicEvaluationEvent evaluate(DmnDecision decision, org.camunda.bpm.engine.variable.context.VariableContext variableContext) Description copied from interface:DmnDecisionLogicEvaluationHandlerEvaluate a decision with the givenVariableContext.- Specified by:
evaluatein interfaceDmnDecisionLogicEvaluationHandler- Parameters:
decision- the decision to evaluatevariableContext- the available variable context- Returns:
- the event which represents the evaluation
-
calculateExecutedDecisionElements
-
evaluateDecisionTable
protected void evaluateDecisionTable(DmnDecisionTableImpl decisionTable, org.camunda.bpm.engine.variable.context.VariableContext variableContext, DmnDecisionTableEvaluationEventImpl evaluationResult) -
evaluateInput
protected DmnEvaluatedInput evaluateInput(DmnDecisionTableInputImpl input, org.camunda.bpm.engine.variable.context.VariableContext variableContext) -
evaluateInputForAvailableRules
protected List<DmnDecisionTableRuleImpl> evaluateInputForAvailableRules(int conditionIdx, DmnDecisionTableInputImpl input, List<DmnDecisionTableRuleImpl> availableRules, org.camunda.bpm.engine.variable.context.VariableContext variableContext) -
isConditionApplicable
protected boolean isConditionApplicable(DmnDecisionTableInputImpl input, DmnExpressionImpl condition, org.camunda.bpm.engine.variable.context.VariableContext variableContext) -
setEvaluationOutput
protected void setEvaluationOutput(DmnDecisionTableImpl decisionTable, List<DmnDecisionTableRuleImpl> matchingRules, org.camunda.bpm.engine.variable.context.VariableContext variableContext, DmnDecisionTableEvaluationEventImpl evaluationResult) -
evaluateMatchingRule
protected DmnEvaluatedDecisionRule evaluateMatchingRule(List<DmnDecisionTableOutputImpl> decisionTableOutputs, DmnDecisionTableRuleImpl matchingRule, org.camunda.bpm.engine.variable.context.VariableContext variableContext) -
getLocalVariableContext
protected org.camunda.bpm.engine.variable.context.VariableContext getLocalVariableContext(DmnDecisionTableInputImpl input, DmnEvaluatedInput evaluatedInput, org.camunda.bpm.engine.variable.context.VariableContext variableContext) -
isNonEmptyExpression
-
evaluateInputExpression
protected Object evaluateInputExpression(DmnExpressionImpl expression, org.camunda.bpm.engine.variable.context.VariableContext variableContext) -
evaluateInputEntry
protected Object evaluateInputEntry(DmnDecisionTableInputImpl input, DmnExpressionImpl condition, org.camunda.bpm.engine.variable.context.VariableContext variableContext) -
evaluateOutputEntries
protected Map<String,DmnEvaluatedOutput> evaluateOutputEntries(List<DmnDecisionTableOutputImpl> decisionTableOutputs, DmnDecisionTableRuleImpl matchingRule, org.camunda.bpm.engine.variable.context.VariableContext variableContext) -
evaluateOutputEntry
protected Object evaluateOutputEntry(DmnExpressionImpl conclusion, org.camunda.bpm.engine.variable.context.VariableContext variableContext) -
evaluateFeelSimpleUnaryTests
protected Object evaluateFeelSimpleUnaryTests(DmnDecisionTableInputImpl input, DmnExpressionImpl condition, org.camunda.bpm.engine.variable.context.VariableContext variableContext) -
generateDecisionResult
Description copied from interface:DmnDecisionLogicEvaluationHandlerGenerates the decision evaluation result of the given event.- Specified by:
generateDecisionResultin interfaceDmnDecisionLogicEvaluationHandler- Parameters:
event- which represents the evaluation- Returns:
- the result of the decision evaluation
-