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
-
Method Summary
Modifier and TypeMethodDescriptionstatic Value
evaluate
(EndpointRuleSet ruleset, Map<Identifier, Value> parameterArguments) Initializes a newRuleEvaluator
instances, 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 newRuleEvaluator
instances, 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:
visitLiteral
in interfaceExpressionVisitor<Value>
-
visitRef
- Specified by:
visitRef
in interfaceExpressionVisitor<Value>
-
visitIsSet
- Specified by:
visitIsSet
in interfaceExpressionVisitor<Value>
-
visitNot
- Specified by:
visitNot
in interfaceExpressionVisitor<Value>
-
visitBoolEquals
- Specified by:
visitBoolEquals
in interfaceExpressionVisitor<Value>
-
visitStringEquals
- Specified by:
visitStringEquals
in interfaceExpressionVisitor<Value>
-
visitGetAttr
- Specified by:
visitGetAttr
in interfaceExpressionVisitor<Value>
-
visitLibraryFunction
- Specified by:
visitLibraryFunction
in interfaceExpressionVisitor<Value>
-
evaluateCondition
-