Package org.kie.dmn.feel.util
Class EvalHelper
- java.lang.Object
-
- org.kie.dmn.feel.util.EvalHelper
-
public class EvalHelper extends Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classEvalHelper.PropertyValueResult
-
Constructor Summary
Constructors Constructor Description EvalHelper()
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static voidclearGenericAccessorCache()static ObjectcoerceNumber(Object value)static Booleancompare(Object left, Object right, org.kie.dmn.feel.lang.EvaluationContext ctx, BiPredicate<Comparable,Comparable> op)Compares left and right operands using the given predicate and returns TRUE/FALSE accordinglystatic MethodgetAccessor(Class<?> clazz, String field)JavaBean -spec compliant accessor.static BigDecimalgetBigDecimalOrNull(Object value)static BooleangetBooleanOrNull(Object value)static EvalHelper.PropertyValueResultgetDefinedValue(Object current, String property)static MethodgetGenericAccessor(Class<?> clazz, String field)FEEL annotated or else Java accessor.static ObjectgetValue(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.static BooleanisEqual(Object left, Object right, org.kie.dmn.feel.lang.EvaluationContext ctx)Compares left and right for equality applying FEEL semantics to specific data typesstatic BooleanisEqualDateTimeInSemanticD(TemporalAccessor left, TemporalAccessor right)DMNv1.2 Table 48: Specific semantics of equality DMNv1.3 Table 71: Semantic of date and time functionsstatic BooleanisEqualTimeInSemanticD(TemporalAccessor left, TemporalAccessor right)DMNv1.2 Table 48: Specific semantics of equality DMNv1.3 Table 71: Semantic of date and time functionsstatic StringlcFirst(String name)static StringnormalizeVariableName(String name)static Optional<String>propertyFromAccessor(Method accessor)Inverse ofgetAccessor(Class, String)static StringucFirst(String name)static StringunescapeString(String text)
-
-
-
Method Detail
-
getBigDecimalOrNull
public static BigDecimal getBigDecimalOrNull(Object value)
-
getDefinedValue
public static EvalHelper.PropertyValueResult getDefinedValue(Object current, String property)
-
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.getDefinedValue(Object, String)method instead.
-
getGenericAccessor
@GwtIncompatible public static Method getGenericAccessor(Class<?> clazz, String field)
FEEL annotated or else Java accessor.- Parameters:
clazz-field-- Returns:
-
clearGenericAccessorCache
@GwtIncompatible public static void clearGenericAccessorCache()
-
getAccessor
@GwtIncompatible public static Method getAccessor(Class<?> clazz, String field)
JavaBean -spec compliant accessor.- Parameters:
clazz-field-- Returns:
-
propertyFromAccessor
@GwtIncompatible public static Optional<String> propertyFromAccessor(Method accessor)
Inverse ofgetAccessor(Class, String)
-
compare
public static Boolean compare(Object left, Object right, org.kie.dmn.feel.lang.EvaluationContext ctx, BiPredicate<Comparable,Comparable> op)
Compares left and right operands using the given predicate and returns TRUE/FALSE accordingly- Parameters:
left-right-ctx-op-- Returns:
-
isEqual
public static Boolean isEqual(Object left, Object right, org.kie.dmn.feel.lang.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
-
-