Class DMNFeelExpressionEvaluator

    • Constructor Detail

      • DMNFeelExpressionEvaluator

        public DMNFeelExpressionEvaluator​(java.lang.ClassLoader classLoader)
    • 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)
      • internalUnaryEvaluation

        protected boolean internalUnaryEvaluation​(java.lang.String rawExpression,
                                                  java.lang.Object resultValue,
                                                  java.lang.Class<?> resultClass,
                                                  boolean skipEmptyString)
        Specified by:
        internalUnaryEvaluation in class AbstractExpressionEvaluator
      • 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:
      • createObject

        protected java.lang.Object createObject​(java.lang.String className,
                                                java.util.List<java.lang.String> genericClasses)
        Specified by:
        createObject in class AbstractExpressionEvaluator
      • setField

        protected void setField​(java.lang.Object toReturn,
                                java.lang.String fieldName,
                                java.lang.Object fieldValue)
        Specified by:
        setField in class AbstractExpressionEvaluator
      • isStructuredResult

        protected boolean isStructuredResult​(java.lang.Class<?> resultClass)
        In DMN only Lists are structured result while Maps are context so "plain" FEEL expressions
        Overrides:
        isStructuredResult in class AbstractExpressionEvaluator
        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:
        isStructuredInput in class AbstractExpressionEvaluator
        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:
        getFieldClassNameAndGenerics in class AbstractExpressionEvaluator
        Parameters:
        element -
        fieldName -
        className -
        genericClasses -
        Returns: