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
Modifier and TypeFieldDescriptionprotected final List<DmnDecisionTableEvaluationListener>
protected final ExpressionEvaluationHandler
protected final FeelEngine
protected final String
protected final String
protected final String
protected final boolean
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected long
calculateExecutedDecisionElements
(DmnDecisionTableImpl decisionTable) evaluate
(DmnDecision decision, VariableContext variableContext) Evaluate a decision with the givenVariableContext
.protected void
evaluateDecisionTable
(DmnDecisionTableImpl decisionTable, VariableContext variableContext, DmnDecisionTableEvaluationEventImpl evaluationResult) protected Object
evaluateFeelSimpleUnaryTests
(DmnDecisionTableInputImpl input, DmnExpressionImpl condition, VariableContext variableContext) protected DmnEvaluatedInput
evaluateInput
(DmnDecisionTableInputImpl input, VariableContext variableContext) protected Object
evaluateInputEntry
(DmnDecisionTableInputImpl input, DmnExpressionImpl condition, VariableContext variableContext) protected Object
evaluateInputExpression
(DmnExpressionImpl expression, VariableContext variableContext) protected List<DmnDecisionTableRuleImpl>
evaluateInputForAvailableRules
(int conditionIdx, DmnDecisionTableInputImpl input, List<DmnDecisionTableRuleImpl> availableRules, VariableContext variableContext) protected DmnEvaluatedDecisionRule
evaluateMatchingRule
(List<DmnDecisionTableOutputImpl> decisionTableOutputs, DmnDecisionTableRuleImpl matchingRule, VariableContext variableContext) protected Map<String,
DmnEvaluatedOutput> evaluateOutputEntries
(List<DmnDecisionTableOutputImpl> decisionTableOutputs, DmnDecisionTableRuleImpl matchingRule, VariableContext variableContext) protected Object
evaluateOutputEntry
(DmnExpressionImpl conclusion, VariableContext variableContext) Generates the decision evaluation result of the given event.protected VariableContext
getLocalVariableContext
(DmnDecisionTableInputImpl input, DmnEvaluatedInput evaluatedInput, VariableContext variableContext) protected boolean
isConditionApplicable
(DmnDecisionTableInputImpl input, DmnExpressionImpl condition, VariableContext variableContext) protected boolean
isNonEmptyExpression
(DmnExpressionImpl expression) protected void
setEvaluationOutput
(DmnDecisionTableImpl decisionTable, List<DmnDecisionTableRuleImpl> matchingRules, VariableContext variableContext, DmnDecisionTableEvaluationEventImpl evaluationResult)
-
Field Details
-
expressionEvaluationHandler
-
feelEngine
-
evaluationListeners
-
inputExpressionExpressionLanguage
-
inputEntryExpressionLanguage
-
outputEntryExpressionLanguage
-
returnBlankTableOutputAsNull
protected final boolean returnBlankTableOutputAsNull
-
-
Constructor Details
-
DecisionTableEvaluationHandler
-
-
Method Details
-
evaluate
public DmnDecisionLogicEvaluationEvent evaluate(DmnDecision decision, VariableContext variableContext) Description copied from interface:DmnDecisionLogicEvaluationHandler
Evaluate a decision with the givenVariableContext
.- Specified by:
evaluate
in 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, VariableContext variableContext, DmnDecisionTableEvaluationEventImpl evaluationResult) -
evaluateInput
protected DmnEvaluatedInput evaluateInput(DmnDecisionTableInputImpl input, VariableContext variableContext) -
evaluateInputForAvailableRules
protected List<DmnDecisionTableRuleImpl> evaluateInputForAvailableRules(int conditionIdx, DmnDecisionTableInputImpl input, List<DmnDecisionTableRuleImpl> availableRules, VariableContext variableContext) -
isConditionApplicable
protected boolean isConditionApplicable(DmnDecisionTableInputImpl input, DmnExpressionImpl condition, VariableContext variableContext) -
setEvaluationOutput
protected void setEvaluationOutput(DmnDecisionTableImpl decisionTable, List<DmnDecisionTableRuleImpl> matchingRules, VariableContext variableContext, DmnDecisionTableEvaluationEventImpl evaluationResult) -
evaluateMatchingRule
protected DmnEvaluatedDecisionRule evaluateMatchingRule(List<DmnDecisionTableOutputImpl> decisionTableOutputs, DmnDecisionTableRuleImpl matchingRule, VariableContext variableContext) -
getLocalVariableContext
protected VariableContext getLocalVariableContext(DmnDecisionTableInputImpl input, DmnEvaluatedInput evaluatedInput, VariableContext variableContext) -
isNonEmptyExpression
-
evaluateInputExpression
protected Object evaluateInputExpression(DmnExpressionImpl expression, VariableContext variableContext) -
evaluateInputEntry
protected Object evaluateInputEntry(DmnDecisionTableInputImpl input, DmnExpressionImpl condition, VariableContext variableContext) -
evaluateOutputEntries
protected Map<String,DmnEvaluatedOutput> evaluateOutputEntries(List<DmnDecisionTableOutputImpl> decisionTableOutputs, DmnDecisionTableRuleImpl matchingRule, VariableContext variableContext) -
evaluateOutputEntry
-
evaluateFeelSimpleUnaryTests
protected Object evaluateFeelSimpleUnaryTests(DmnDecisionTableInputImpl input, DmnExpressionImpl condition, VariableContext variableContext) -
generateDecisionResult
Description copied from interface:DmnDecisionLogicEvaluationHandler
Generates the decision evaluation result of the given event.- Specified by:
generateDecisionResult
in interfaceDmnDecisionLogicEvaluationHandler
- Parameters:
event
- which represents the evaluation- Returns:
- the result of the decision evaluation
-