Class DecisionTableEvaluationHandler
- java.lang.Object
-
- org.camunda.bpm.dmn.engine.impl.evaluation.DecisionTableEvaluationHandler
-
- All Implemented Interfaces:
DmnDecisionLogicEvaluationHandler
public class DecisionTableEvaluationHandler extends java.lang.Object implements DmnDecisionLogicEvaluationHandler
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.List<DmnDecisionTableEvaluationListener>
evaluationListeners
protected ExpressionEvaluationHandler
expressionEvaluationHandler
protected FeelEngine
feelEngine
protected java.lang.String
inputEntryExpressionLanguage
protected java.lang.String
inputExpressionExpressionLanguage
protected java.lang.String
outputEntryExpressionLanguage
protected boolean
returnBlankTableOutputAsNull
-
Constructor Summary
Constructors Constructor Description DecisionTableEvaluationHandler(DefaultDmnEngineConfiguration configuration)
-
Method Summary
-
-
-
Field Detail
-
expressionEvaluationHandler
protected final ExpressionEvaluationHandler expressionEvaluationHandler
-
feelEngine
protected final FeelEngine feelEngine
-
evaluationListeners
protected final java.util.List<DmnDecisionTableEvaluationListener> evaluationListeners
-
inputExpressionExpressionLanguage
protected final java.lang.String inputExpressionExpressionLanguage
-
inputEntryExpressionLanguage
protected final java.lang.String inputEntryExpressionLanguage
-
outputEntryExpressionLanguage
protected final java.lang.String outputEntryExpressionLanguage
-
returnBlankTableOutputAsNull
protected final boolean returnBlankTableOutputAsNull
-
-
Constructor Detail
-
DecisionTableEvaluationHandler
public DecisionTableEvaluationHandler(DefaultDmnEngineConfiguration configuration)
-
-
Method Detail
-
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
protected long calculateExecutedDecisionElements(DmnDecisionTableImpl decisionTable)
-
evaluateDecisionTable
protected void evaluateDecisionTable(DmnDecisionTableImpl decisionTable, VariableContext variableContext, DmnDecisionTableEvaluationEventImpl evaluationResult)
-
evaluateInput
protected DmnEvaluatedInput evaluateInput(DmnDecisionTableInputImpl input, VariableContext variableContext)
-
evaluateInputForAvailableRules
protected java.util.List<DmnDecisionTableRuleImpl> evaluateInputForAvailableRules(int conditionIdx, DmnDecisionTableInputImpl input, java.util.List<DmnDecisionTableRuleImpl> availableRules, VariableContext variableContext)
-
isConditionApplicable
protected boolean isConditionApplicable(DmnDecisionTableInputImpl input, DmnExpressionImpl condition, VariableContext variableContext)
-
setEvaluationOutput
protected void setEvaluationOutput(DmnDecisionTableImpl decisionTable, java.util.List<DmnDecisionTableRuleImpl> matchingRules, VariableContext variableContext, DmnDecisionTableEvaluationEventImpl evaluationResult)
-
evaluateMatchingRule
protected DmnEvaluatedDecisionRule evaluateMatchingRule(java.util.List<DmnDecisionTableOutputImpl> decisionTableOutputs, DmnDecisionTableRuleImpl matchingRule, VariableContext variableContext)
-
getLocalVariableContext
protected VariableContext getLocalVariableContext(DmnDecisionTableInputImpl input, DmnEvaluatedInput evaluatedInput, VariableContext variableContext)
-
isNonEmptyExpression
protected boolean isNonEmptyExpression(DmnExpressionImpl expression)
-
evaluateInputExpression
protected java.lang.Object evaluateInputExpression(DmnExpressionImpl expression, VariableContext variableContext)
-
evaluateInputEntry
protected java.lang.Object evaluateInputEntry(DmnDecisionTableInputImpl input, DmnExpressionImpl condition, VariableContext variableContext)
-
evaluateOutputEntries
protected java.util.Map<java.lang.String,DmnEvaluatedOutput> evaluateOutputEntries(java.util.List<DmnDecisionTableOutputImpl> decisionTableOutputs, DmnDecisionTableRuleImpl matchingRule, VariableContext variableContext)
-
evaluateOutputEntry
protected java.lang.Object evaluateOutputEntry(DmnExpressionImpl conclusion, VariableContext variableContext)
-
evaluateFeelSimpleUnaryTests
protected java.lang.Object evaluateFeelSimpleUnaryTests(DmnDecisionTableInputImpl input, DmnExpressionImpl condition, VariableContext variableContext)
-
generateDecisionResult
public DmnDecisionResult generateDecisionResult(DmnDecisionLogicEvaluationEvent event)
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
-
-