Class TraversingVisitor<R>

  • Type Parameters:
    R - the return type.
    All Implemented Interfaces:
    ExpressionVisitor<java.util.stream.Stream<R>>, RuleValueVisitor<java.util.stream.Stream<R>>

    public class TraversingVisitor<R>
    extends ExpressionVisitor.Default<java.util.stream.Stream<R>>
    implements RuleValueVisitor<java.util.stream.Stream<R>>
    A visitor for traversing the rules and conditions of a rule-set.
    • Constructor Detail

      • TraversingVisitor

        public TraversingVisitor()
    • Method Detail

      • visitRuleset

        public java.util.stream.Stream<R> visitRuleset​(EndpointRuleSet ruleset)
        Given an EndpointRuleSet will invoke the visitor methods for each rule.
        Parameters:
        ruleset - the endpoint rule-set to traverse.
        Returns:
        a stream of values.
      • visitTreeRule

        public java.util.stream.Stream<R> visitTreeRule​(java.util.List<Rule> rules)
        Description copied from interface: RuleValueVisitor
        Invoked when reaching a tree rule.
        Specified by:
        visitTreeRule in interface RuleValueVisitor<R>
        Parameters:
        rules - the sub-rules within a tree rule.
        Returns:
        the visitor return type.
      • visitErrorRule

        public java.util.stream.Stream<R> visitErrorRule​(Expression error)
        Description copied from interface: RuleValueVisitor
        Invoked when reaching an error rule.
        Specified by:
        visitErrorRule in interface RuleValueVisitor<R>
        Parameters:
        error - the error expression for the rule.
        Returns:
        the visitor return type.
      • visitEndpointRule

        public java.util.stream.Stream<R> visitEndpointRule​(Endpoint endpoint)
        Description copied from interface: RuleValueVisitor
        Invoked when reaching an endpoint rule.
        Specified by:
        visitEndpointRule in interface RuleValueVisitor<R>
        Parameters:
        endpoint - the endpoint of the rule.
        Returns:
        the visitor return type.
      • visitEndpoint

        public java.util.stream.Stream<R> visitEndpoint​(Endpoint endpoint)
        Endpoint visitor method.
        Parameters:
        endpoint - the endpoint to visit.
        Returns:
        a stream of values.
      • visitConditions

        public java.util.stream.Stream<R> visitConditions​(java.util.List<Condition> conditions)
        Endpoint visitor method.
        Parameters:
        conditions - the conditions to visit.
        Returns:
        a stream of values.