Class RuleEvaluator
java.lang.Object
software.amazon.smithy.rulesengine.language.eval.RuleEvaluator
- All Implemented Interfaces:
ExpressionVisitor<Value>
A runtime implementation of a rule-set evaluation engine.
-
Nested Class Summary
Nested classes/interfaces inherited from interface software.amazon.smithy.rulesengine.language.visit.ExpressionVisitor
ExpressionVisitor.Default<R> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Valueevaluate(EndpointRuleSet ruleset, Map<Identifier, Value> parameterArguments) Initializes a newRuleEvaluatorinstances, and evaluates the provided ruleset and parameter arguments.evaluateCondition(Condition condition) evaluateRuleSet(EndpointRuleSet ruleset, Map<Identifier, Value> parameterArguments) Evaluate the provided ruleset and parameter arguments.visitBoolEquals(Expression left, Expression right) visitGetAttr(GetAttr getAttr) visitIsSet(Expression fn) visitLibraryFunction(FunctionDefinition definition, List<Expression> arguments) visitLiteral(Literal literal) visitNot(Expression not) visitStringEquals(Expression left, Expression right)
-
Constructor Details
-
RuleEvaluator
public RuleEvaluator()
-
-
Method Details
-
evaluate
Initializes a newRuleEvaluatorinstances, and evaluates the provided ruleset and parameter arguments.- Parameters:
ruleset- The endpoint ruleset.parameterArguments- The rule-set parameter identifiers and values to evaluate the rule-set against.- Returns:
- The resulting value from the final matched rule.
-
evaluateRuleSet
Evaluate the provided ruleset and parameter arguments.- Parameters:
ruleset- The endpoint ruleset.parameterArguments- The rule-set parameter identifiers and values to evaluate the rule-set against.- Returns:
- The resulting value from the final matched rule.
-
visitLiteral
- Specified by:
visitLiteralin interfaceExpressionVisitor<Value>
-
visitRef
- Specified by:
visitRefin interfaceExpressionVisitor<Value>
-
visitIsSet
- Specified by:
visitIsSetin interfaceExpressionVisitor<Value>
-
visitNot
- Specified by:
visitNotin interfaceExpressionVisitor<Value>
-
visitBoolEquals
- Specified by:
visitBoolEqualsin interfaceExpressionVisitor<Value>
-
visitStringEquals
- Specified by:
visitStringEqualsin interfaceExpressionVisitor<Value>
-
visitGetAttr
- Specified by:
visitGetAttrin interfaceExpressionVisitor<Value>
-
visitLibraryFunction
- Specified by:
visitLibraryFunctionin interfaceExpressionVisitor<Value>
-
evaluateCondition
-