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(ClassLoader classLoader)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ObjectcreateObject(String className, List<String> genericClasses)protected <T> TexecuteAndVerifyErrors(Function<org.kie.dmn.feel.FEEL,T> command)Common internal method that execute the command and manage errorprotected ObjectextractFieldValue(Object result, String fieldName)StringfromObjectToExpression(Object value)protected Map.Entry<String,List<String>>getFieldClassNameAndGenerics(Object element, String fieldName, String className, List<String> genericClasses)This is not used for DMNprotected ObjectinternalLiteralEvaluation(String raw, String className)protected booleaninternalUnaryEvaluation(String rawExpression, Object resultValue, Class<?> resultClass, boolean skipEmptyString)protected booleanisStructuredInput(String className)In DMN only Lists are structured input while Maps are context so "plain" FEEL expressionsprotected booleanisStructuredResult(Class<?> resultClass)In DMN only Lists are structured result while Maps are context so "plain" FEEL expressionsprotected org.kie.dmn.feel.FEELnewFeelEvaluator(AtomicReference<org.kie.dmn.api.feel.runtime.events.FEELEvent> errorHolder)protected voidsetField(Object toReturn, String fieldName, 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
-
-
-
-
Constructor Detail
-
DMNFeelExpressionEvaluator
public DMNFeelExpressionEvaluator(ClassLoader classLoader)
-
-
Method Detail
-
newFeelEvaluator
protected org.kie.dmn.feel.FEEL newFeelEvaluator(AtomicReference<org.kie.dmn.api.feel.runtime.events.FEELEvent> errorHolder)
-
internalLiteralEvaluation
protected Object internalLiteralEvaluation(String raw, String className)
- Specified by:
internalLiteralEvaluationin classAbstractExpressionEvaluator
-
internalUnaryEvaluation
protected boolean internalUnaryEvaluation(String rawExpression, Object resultValue, Class<?> resultClass, boolean skipEmptyString)
- Specified by:
internalUnaryEvaluationin classAbstractExpressionEvaluator
-
executeAndVerifyErrors
protected <T> T executeAndVerifyErrors(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 Object extractFieldValue(Object result, String fieldName)
- Specified by:
extractFieldValuein classAbstractExpressionEvaluator
-
createObject
protected Object createObject(String className, List<String> genericClasses)
- Specified by:
createObjectin classAbstractExpressionEvaluator
-
setField
protected void setField(Object toReturn, String fieldName, Object fieldValue)
- Specified by:
setFieldin classAbstractExpressionEvaluator
-
isStructuredResult
protected boolean isStructuredResult(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(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 Map.Entry<String,List<String>> getFieldClassNameAndGenerics(Object element, String fieldName, String className, List<String> genericClasses)
This is not used for DMN- Specified by:
getFieldClassNameAndGenericsin classAbstractExpressionEvaluator- Parameters:
element-fieldName-className-genericClasses-- Returns:
-
-