Interface RuleEvaluationService

  • All Known Implementing Classes:
    SpelRuleEvaluationService

    public interface RuleEvaluationService

    Intended to provide a means to evaluate rule builder expressions written in some expression language.

    Author:
    Nathan Moore (nathanmoore).
    • Method Detail

      • evaluateRule

        boolean evaluateRule​(@Nullable
                             String rule,
                             @NonNull
                             Object rootObject,
                             @NonNull
                             ExpressionContext expressionContext)

        Uses the configured expression parser to evaluate the rule against the root object. If the rule is null or blank, this method returns true.

        Parameters:
        rule - String representation of an expression
        rootObject - Object to evaluate the rule against
        expressionContext - Relevant information required to evaluate an expression or group of expressions
        Returns:
        whether the object matches the rule
        See Also:
        StandardExpressionContext.EMPTY_EXPRESSION_CONTEXT
      • anyMatch

        boolean anyMatch​(@NonNull
                         Collection<String> rules,
                         @NonNull
                         Object rootObject,
                         @NonNull
                         ExpressionContext expressionContext)

        Use to determine if the object matches any rule provided.

        Parameters:
        rules - String representations of expressions
        rootObject - Object to evaluate the rule against
        expressionContext - Relevant information required to evaluate an expression or group of expressions
        Returns:
        whether the object matches any rules
        See Also:
        StandardExpressionContext.EMPTY_EXPRESSION_CONTEXT
      • allMatch

        boolean allMatch​(@NonNull
                         Collection<String> rules,
                         @NonNull
                         Object rootObject,
                         @NonNull
                         ExpressionContext expressionContext)

        Use to determine if the object matches all rules provided.

        Parameters:
        rules - String representations of expressions
        rootObject - Object to evaluate the rule against
        expressionContext - Relevant information required to evaluate an expression or group of expressions
        Returns:
        whether the object matches all rules
        See Also:
        StandardExpressionContext.EMPTY_EXPRESSION_CONTEXT
      • noneMatch

        boolean noneMatch​(@NonNull
                          Collection<String> rules,
                          @NonNull
                          Object rootObject,
                          @NonNull
                          ExpressionContext expressionContext)

        Use to determine if the object matches no provided rule.

        Parameters:
        rules - String representations of expressions
        rootObject - Object to evaluate the rule against
        expressionContext - Relevant information required to evaluate an expression or group of expressions
        Returns:
        whether the object matches no rules
        See Also:
        StandardExpressionContext.EMPTY_EXPRESSION_CONTEXT