org.camunda.bpm.dmn.engine.impl.evaluation
Class DecisionTableEvaluationHandler

java.lang.Object
  extended by org.camunda.bpm.dmn.engine.impl.evaluation.DecisionTableEvaluationHandler
All Implemented Interfaces:
DmnDecisionLogicEvaluationHandler

public class DecisionTableEvaluationHandler
extends Object
implements DmnDecisionLogicEvaluationHandler


Field Summary
protected  List<DmnDecisionTableEvaluationListener> evaluationListeners
           
protected  ExpressionEvaluationHandler expressionEvaluationHandler
           
protected  FeelEngine feelEngine
           
protected  String inputEntryExpressionLanguage
           
protected  String inputExpressionExpressionLanguage
           
protected  String outputEntryExpressionLanguage
           
 
Constructor Summary
DecisionTableEvaluationHandler(DefaultDmnEngineConfiguration configuration)
           
 
Method Summary
protected  long calculateExecutedDecisionElements(DmnDecisionTableImpl decisionTable)
           
 DmnDecisionLogicEvaluationEvent evaluate(DmnDecision decision, org.camunda.bpm.engine.variable.context.VariableContext variableContext)
          Evaluate a decision with the given VariableContext.
protected  void evaluateDecisionTable(DmnDecisionTableImpl decisionTable, org.camunda.bpm.engine.variable.context.VariableContext variableContext, DmnDecisionTableEvaluationEventImpl evaluationResult)
           
protected  Object evaluateFeelSimpleUnaryTests(DmnDecisionTableInputImpl input, DmnExpressionImpl condition, org.camunda.bpm.engine.variable.context.VariableContext variableContext)
           
protected  DmnEvaluatedInput evaluateInput(DmnDecisionTableInputImpl input, org.camunda.bpm.engine.variable.context.VariableContext variableContext)
           
protected  Object evaluateInputEntry(DmnDecisionTableInputImpl input, DmnExpressionImpl condition, org.camunda.bpm.engine.variable.context.VariableContext variableContext)
           
protected  Object evaluateInputExpression(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  DmnEvaluatedDecisionRule evaluateMatchingRule(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  Object evaluateOutputEntry(DmnExpressionImpl conclusion, org.camunda.bpm.engine.variable.context.VariableContext variableContext)
           
 DmnDecisionResult generateDecisionResult(DmnDecisionLogicEvaluationEvent event)
          Generates the decision evaluation result of the given event.
protected  org.camunda.bpm.engine.variable.context.VariableContext getLocalVariableContext(DmnDecisionTableInputImpl input, DmnEvaluatedInput evaluatedInput, org.camunda.bpm.engine.variable.context.VariableContext variableContext)
           
protected  boolean isConditionApplicable(DmnDecisionTableInputImpl input, DmnExpressionImpl condition, org.camunda.bpm.engine.variable.context.VariableContext variableContext)
           
protected  boolean isNonEmptyExpression(DmnExpressionImpl expression)
           
protected  void setEvaluationOutput(DmnDecisionTableImpl decisionTable, List<DmnDecisionTableRuleImpl> matchingRules, org.camunda.bpm.engine.variable.context.VariableContext variableContext, DmnDecisionTableEvaluationEventImpl evaluationResult)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

expressionEvaluationHandler

protected final ExpressionEvaluationHandler expressionEvaluationHandler

feelEngine

protected final FeelEngine feelEngine

evaluationListeners

protected final List<DmnDecisionTableEvaluationListener> evaluationListeners

inputExpressionExpressionLanguage

protected final String inputExpressionExpressionLanguage

inputEntryExpressionLanguage

protected final String inputEntryExpressionLanguage

outputEntryExpressionLanguage

protected final String outputEntryExpressionLanguage
Constructor Detail

DecisionTableEvaluationHandler

public DecisionTableEvaluationHandler(DefaultDmnEngineConfiguration configuration)
Method Detail

evaluate

public DmnDecisionLogicEvaluationEvent evaluate(DmnDecision decision,
                                                org.camunda.bpm.engine.variable.context.VariableContext variableContext)
Description copied from interface: DmnDecisionLogicEvaluationHandler
Evaluate a decision with the given VariableContext.

Specified by:
evaluate in interface DmnDecisionLogicEvaluationHandler
Parameters:
decision - the decision to evaluate
variableContext - the available variable context
Returns:
the event which represents the evaluation

calculateExecutedDecisionElements

protected long calculateExecutedDecisionElements(DmnDecisionTableImpl decisionTable)

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

protected boolean isNonEmptyExpression(DmnExpressionImpl expression)

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

public DmnDecisionResult generateDecisionResult(DmnDecisionLogicEvaluationEvent event)
Description copied from interface: DmnDecisionLogicEvaluationHandler
Generates the decision evaluation result of the given event.

Specified by:
generateDecisionResult in interface DmnDecisionLogicEvaluationHandler
Parameters:
event - which represents the evaluation
Returns:
the result of the decision evaluation


Copyright © 2017 camunda services GmbH. All rights reserved.