Class TraversingVisitor<R>

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

    public abstract class TraversingVisitor<R>
    extends DefaultVisitor<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.
      • getDefault

        public java.util.stream.Stream<R> getDefault()
        Specified by:
        getDefault in class DefaultVisitor<java.util.stream.Stream<R>>
      • 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>
        Overrides:
        visitTreeRule in class DefaultVisitor<java.util.stream.Stream<R>>
        Parameters:
        rules - the sub-rules within a tree 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.