Class EvalHelper


  • public class EvalHelper
    extends Object
    • Field Detail

      • LOG

        public static final org.slf4j.Logger LOG
    • Constructor Detail

      • EvalHelper

        public EvalHelper()
    • Method Detail

      • normalizeVariableName

        public static String normalizeVariableName​(String name)
      • getBigDecimalOrNull

        public static BigDecimal getBigDecimalOrNull​(Object value)
      • coerceNumber

        public static Object coerceNumber​(Object value)
      • getBooleanOrNull

        public static Boolean getBooleanOrNull​(Object value)
      • unescapeString

        public static String unescapeString​(String text)
      • getValue

        public static Object getValue​(Object current,
                                      String property)
        Deprecated.
        this method cannot distinguish null because: 1. property undefined for current, 2. an error, 3. a properly defined property value valorized to null.
      • getGenericAccessor

        @GwtIncompatible
        public static Method getGenericAccessor​(Class<?> clazz,
                                                String field)
        FEEL annotated or else Java accessor.
        Parameters:
        clazz -
        field -
        Returns:
      • clearGenericAccessorCache

        public static void clearGenericAccessorCache()
      • getAccessor

        @GwtIncompatible
        public static Method getAccessor​(Class<?> clazz,
                                         String field)
        JavaBean -spec compliant accessor.
        Parameters:
        clazz -
        field -
        Returns:
      • isEqual

        public static Boolean isEqual​(Object left,
                                      Object right,
                                      EvaluationContext ctx)
        Compares left and right for equality applying FEEL semantics to specific data types
        Parameters:
        left -
        right -
        ctx -
        Returns:
      • isEqualDateTimeInSemanticD

        public static Boolean isEqualDateTimeInSemanticD​(TemporalAccessor left,
                                                         TemporalAccessor right)
        DMNv1.2 Table 48: Specific semantics of equality DMNv1.3 Table 71: Semantic of date and time functions
      • isEqualTimeInSemanticD

        public static Boolean isEqualTimeInSemanticD​(TemporalAccessor left,
                                                     TemporalAccessor right)
        DMNv1.2 Table 48: Specific semantics of equality DMNv1.3 Table 71: Semantic of date and time functions