Class ExpressionConfiguration


  • public class ExpressionConfiguration
    extends java.lang.Object
    The expression configuration can be used to configure various aspects of expression parsing and evaluation.
    A Builder is provided to create custom configurations, e.g.:
       ExpressionConfiguration config = ExpressionConfiguration.builder().mathContext(MathContext.DECIMAL32).arraysAllowed(false).build();
     

    Additional operators and functions can be added to an existing configuration:
         ExpressionConfiguration.defaultConfiguration()
            .withAdditionalOperators(
                Map.entry("++", new PrefixPlusPlusOperator()),
                Map.entry("++", new PostfixPlusPlusOperator()))
            .withAdditionalFunctions(Map.entry("save", new SaveFunction()),
                Map.entry("update", new UpdateFunction()));
     
    • Field Detail

      • StandardConstants

        public static final java.util.Map<java.lang.String,​EvaluationValue> StandardConstants
        The standard set constants for EvalEx.
      • DECIMAL_PLACES_ROUNDING_UNLIMITED

        public static final int DECIMAL_PLACES_ROUNDING_UNLIMITED
        Setting the decimal places to unlimited, will disable intermediate rounding.
        See Also:
        Constant Field Values
      • DEFAULT_MATH_CONTEXT

        public static final java.math.MathContext DEFAULT_MATH_CONTEXT
        The default math context has a precision of 68 and RoundingMode.HALF_EVEN.
      • DEFAULT_DATE_TIME_FORMATTERS

        protected static final java.util.List<java.time.format.DateTimeFormatter> DEFAULT_DATE_TIME_FORMATTERS
        The default date time formatters used when parsing a date string. Each format will be tried and the first matching will be used.
        • DateTimeFormatter.ISO_DATE_TIME
        • DateTimeFormatter.ISO_DATE
        • DateTimeFormatter.ISO_LOCAL_DATE_TIME
        • DateTimeFormatter.ISO_LOCAL_DATE
    • Constructor Detail

      • ExpressionConfiguration

        public ExpressionConfiguration()
    • Method Detail

      • defaultConfiguration

        public static ExpressionConfiguration defaultConfiguration()
        Convenience method to create a default configuration.
        Returns:
        A configuration with default settings.
      • withAdditionalOperators

        @SafeVarargs
        public final ExpressionConfiguration withAdditionalOperators​(java.util.Map.Entry<java.lang.String,​OperatorIfc>... operators)
        Adds additional operators to this configuration.
        Parameters:
        operators - variable number of arguments with a map entry holding the operator name and implementation.
        Example: ExpressionConfiguration.defaultConfiguration() .withAdditionalOperators( Map.entry("++", new PrefixPlusPlusOperator()), Map.entry("++", new PostfixPlusPlusOperator()));
        Returns:
        The modified configuration, to allow chaining of methods.
      • withAdditionalFunctions

        @SafeVarargs
        public final ExpressionConfiguration withAdditionalFunctions​(java.util.Map.Entry<java.lang.String,​FunctionIfc>... functions)
        Adds additional functions to this configuration.
        Parameters:
        functions - variable number of arguments with a map entry holding the functions name and implementation.
        Example: ExpressionConfiguration.defaultConfiguration() .withAdditionalFunctions( Map.entry("save", new SaveFunction()), Map.entry("update", new UpdateFunction()));
        Returns:
        The modified configuration, to allow chaining of methods.