Class DMNFeelExpressionEvaluator
- java.lang.Object
-
- org.drools.scenariosimulation.backend.expression.AbstractExpressionEvaluator
-
- org.drools.scenariosimulation.backend.expression.DMNFeelExpressionEvaluator
-
- All Implemented Interfaces:
ExpressionEvaluator
public class DMNFeelExpressionEvaluator extends AbstractExpressionEvaluator
-
-
Constructor Summary
Constructors Constructor Description DMNFeelExpressionEvaluator(java.lang.ClassLoader classLoader)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.ObjectcreateObject(java.lang.String className, java.util.List<java.lang.String> genericClasses)protected <T> TexecuteAndVerifyErrors(java.util.function.Function<org.kie.dmn.feel.FEEL,T> command)Common internal method that execute the command and manage errorprotected java.lang.ObjectextractFieldValue(java.lang.Object result, java.lang.String fieldName)java.lang.StringfromObjectToExpression(java.lang.Object value)protected java.util.Map.Entry<java.lang.String,java.util.List<java.lang.String>>getFieldClassNameAndGenerics(java.lang.Object element, java.lang.String fieldName, java.lang.String className, java.util.List<java.lang.String> genericClasses)This is not used for DMNprotected java.lang.ObjectinternalLiteralEvaluation(java.lang.String raw, java.lang.String className)protected booleaninternalUnaryEvaluation(java.lang.String rawExpression, java.lang.Object resultValue, java.lang.Class<?> resultClass, boolean skipEmptyString)protected booleanisStructuredInput(java.lang.String className)In DMN only Lists are structured input while Maps are context so "plain" FEEL expressionsprotected booleanisStructuredResult(java.lang.Class<?> resultClass)In DMN only Lists are structured result while Maps are context so "plain" FEEL expressionsprotected org.kie.dmn.feel.FEELnewFeelEvaluator(java.util.concurrent.atomic.AtomicReference<org.kie.dmn.api.feel.runtime.events.FEELEvent> errorHolder)protected voidsetField(java.lang.Object toReturn, java.lang.String fieldName, java.lang.Object fieldValue)-
Methods inherited from class org.drools.scenariosimulation.backend.expression.AbstractExpressionEvaluator
convertResult, createAndFillList, createAndFillObject, evaluateLiteralExpression, evaluateUnaryExpression, getSimpleTypeNodeTextValue, isEmptyText, isListEmpty, isNodeEmpty, isObjectEmpty, isSimpleTypeNode, verifyList, verifyObject, verifyResult
-
-
-
-
Method Detail
-
fromObjectToExpression
public java.lang.String fromObjectToExpression(java.lang.Object value)
-
newFeelEvaluator
protected org.kie.dmn.feel.FEEL newFeelEvaluator(java.util.concurrent.atomic.AtomicReference<org.kie.dmn.api.feel.runtime.events.FEELEvent> errorHolder)
-
internalLiteralEvaluation
protected java.lang.Object internalLiteralEvaluation(java.lang.String raw, java.lang.String className)- Specified by:
internalLiteralEvaluationin classAbstractExpressionEvaluator
-
internalUnaryEvaluation
protected boolean internalUnaryEvaluation(java.lang.String rawExpression, java.lang.Object resultValue, java.lang.Class<?> resultClass, boolean skipEmptyString)- Specified by:
internalUnaryEvaluationin classAbstractExpressionEvaluator
-
executeAndVerifyErrors
protected <T> T executeAndVerifyErrors(java.util.function.Function<org.kie.dmn.feel.FEEL,T> command)
Common internal method that execute the command and manage error- Type Parameters:
T-- Parameters:
command-- Returns:
-
extractFieldValue
protected java.lang.Object extractFieldValue(java.lang.Object result, java.lang.String fieldName)- Specified by:
extractFieldValuein classAbstractExpressionEvaluator
-
createObject
protected java.lang.Object createObject(java.lang.String className, java.util.List<java.lang.String> genericClasses)- Specified by:
createObjectin classAbstractExpressionEvaluator
-
setField
protected void setField(java.lang.Object toReturn, java.lang.String fieldName, java.lang.Object fieldValue)- Specified by:
setFieldin classAbstractExpressionEvaluator
-
isStructuredResult
protected boolean isStructuredResult(java.lang.Class<?> resultClass)
In DMN only Lists are structured result while Maps are context so "plain" FEEL expressions- Overrides:
isStructuredResultin classAbstractExpressionEvaluator- Parameters:
resultClass-- Returns:
-
isStructuredInput
protected boolean isStructuredInput(java.lang.String className)
In DMN only Lists are structured input while Maps are context so "plain" FEEL expressions- Overrides:
isStructuredInputin classAbstractExpressionEvaluator- Parameters:
className-- Returns:
-
getFieldClassNameAndGenerics
protected java.util.Map.Entry<java.lang.String,java.util.List<java.lang.String>> getFieldClassNameAndGenerics(java.lang.Object element, java.lang.String fieldName, java.lang.String className, java.util.List<java.lang.String> genericClasses)This is not used for DMN- Specified by:
getFieldClassNameAndGenericsin classAbstractExpressionEvaluator- Parameters:
element-fieldName-className-genericClasses-- Returns:
-
-