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 FeelEngineprotected final Stringprotected final Stringprotected final Stringprotected final boolean -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected longcalculateExecutedDecisionElements(DmnDecisionTableImpl decisionTable) evaluate(DmnDecision decision, VariableContext variableContext) Evaluate a decision with the givenVariableContext.protected voidevaluateDecisionTable(DmnDecisionTableImpl decisionTable, VariableContext variableContext, DmnDecisionTableEvaluationEventImpl evaluationResult) protected ObjectevaluateFeelSimpleUnaryTests(DmnDecisionTableInputImpl input, DmnExpressionImpl condition, VariableContext variableContext) protected DmnEvaluatedInputevaluateInput(DmnDecisionTableInputImpl input, VariableContext variableContext) protected ObjectevaluateInputEntry(DmnDecisionTableInputImpl input, DmnExpressionImpl condition, VariableContext variableContext) protected ObjectevaluateInputExpression(DmnExpressionImpl expression, VariableContext variableContext) protected List<DmnDecisionTableRuleImpl>evaluateInputForAvailableRules(int conditionIdx, DmnDecisionTableInputImpl input, List<DmnDecisionTableRuleImpl> availableRules, VariableContext variableContext) protected DmnEvaluatedDecisionRuleevaluateMatchingRule(List<DmnDecisionTableOutputImpl> decisionTableOutputs, DmnDecisionTableRuleImpl matchingRule, VariableContext variableContext) protected Map<String,DmnEvaluatedOutput> evaluateOutputEntries(List<DmnDecisionTableOutputImpl> decisionTableOutputs, DmnDecisionTableRuleImpl matchingRule, VariableContext variableContext) protected ObjectevaluateOutputEntry(DmnExpressionImpl conclusion, VariableContext variableContext) Generates the decision evaluation result of the given event.protected VariableContextgetLocalVariableContext(DmnDecisionTableInputImpl input, DmnEvaluatedInput evaluatedInput, VariableContext variableContext) protected booleanisConditionApplicable(DmnDecisionTableInputImpl input, DmnExpressionImpl condition, VariableContext variableContext) protected booleanisNonEmptyExpression(DmnExpressionImpl expression) protected voidsetEvaluationOutput(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: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, 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: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
-