Package org.eclipse.rdf4j.query.algebra

## Interface QueryModelVisitor<X extends Exception>

- All Known Implementing Classes:
    `AbstractQueryModelVisitor`, `BaseTupleExprRenderer`, `BGPCollector`, `BindingAssigner.VarVisitor`, `CompareOptimizer.CompareVisitor`, `ConjunctiveConstraintSplitter.ConstraintVisitor`, `ConstantOptimizer.ConstantVisitor`, `ConstantOptimizer.VarNameCollector`, `ContextCollector`, `DisjunctiveConstraintOptimizer.OrSameTermOptimizer`, `EvaluationStatistics.CardinalityCalculator`, `ExclusiveTupleExprOptimizer`, `FilterOptimizer`, `FilterOptimizer.DeMergeFilterFinder`, `FilterOptimizer.FilterBindingFinder`, `FilterOptimizer.FilterExprInsertVisitor`, `FilterOptimizer.FilterFinder`, `FilterOptimizer.FilterRelocator`, `FilterOptimizer.MergeFilterFinder`, `FilterOptimizer.VarFinder`, `GenericInfoOptimizer`, `IterativeEvaluationOptimizer.IEOVisitor`, `LimitOptimizer`, `OrderLimitOptimizer.OrderOptimizer`, `QueryJoinOptimizer.JoinVisitor`, `QueryModelNodeReplacer`, `QueryModelNormalizer`, `QueryModelPruner.TreeSanitizer`, `QueryModelTreePrinter`, `QueryModelTreeToGenericPlanNode`, `QueryModelVisitorBase`, `RegexAsStringFunctionOptimizer.RegexAsStringFunctionVisitor`, `SameTermFilterOptimizer.BindingSetAssignmentCollector`, `SameTermFilterOptimizer.SameTermFilterVisitor`, `SameTermFilterOptimizer.VarBinder`, `SameTermFilterOptimizer.VarRenamer`, `ServiceOptimizer`, `SparqlQueryRenderer`, `SparqlTupleExprRenderer`, `StatementGroupAndJoinOptimizer`, `StatementPatternCollector`, `TripleRefCollector`, `TupleExprBuilder.SameTermCollector`, `TupleExprBuilder.VarCollector`, `TupleFunctionEvaluationStatistics.TupleFunctionCardinalityCalculator`, `UnionOptimizer`, `VarNameCollector`

      public interface QueryModelVisitor<X extends Exception>

  An interface for query model visitors, implementing the Visitor pattern. Core query model nodes will call their type-specific method when `QueryModelNode.visit(QueryModelVisitor)` is called. The method `meetOther(QueryModelNode)` is provided as a hook for foreign query model nodes.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `meet​(Add add)` |
    `void` | `meet​(And node)` |
    `void` | `meet​(ArbitraryLengthPath node)` |
    `void` | `meet​(Avg node)` |
    `void` | `meet​(BindingSetAssignment node)` |
    `void` | `meet​(BNodeGenerator node)` |
    `void` | `meet​(Bound node)` |
    `void` | `meet​(Clear clear)` |
    `void` | `meet​(Coalesce node)` |
    `void` | `meet​(Compare node)` |
    `void` | `meet​(CompareAll node)` |
    `void` | `meet​(CompareAny node)` |
    `void` | `meet​(Copy copy)` |
    `void` | `meet​(Count node)` |
    `void` | `meet​(Create create)` |
    `void` | `meet​(Datatype node)` |
    `void` | `meet​(DeleteData deleteData)` |
    `void` | `meet​(DescribeOperator node)` |
    `void` | `meet​(Difference node)` |
    `void` | `meet​(Distinct node)` |
    `void` | `meet​(EmptySet node)` |
    `void` | `meet​(Exists node)` |
    `void` | `meet​(Extension node)` |
    `void` | `meet​(ExtensionElem node)` |
    `void` | `meet​(Filter node)` |
    `void` | `meet​(FunctionCall node)` |
    `void` | `meet​(Group node)` |
    `void` | `meet​(GroupConcat node)` |
    `void` | `meet​(GroupElem node)` |
    `void` | `meet​(If node)` |
    `void` | `meet​(In node)` |
    `void` | `meet​(InsertData insertData)` |
    `void` | `meet​(Intersection node)` |
    `void` | `meet​(IRIFunction node)` |
    `void` | `meet​(IsBNode node)` |
    `void` | `meet​(IsLiteral node)` |
    `void` | `meet​(IsNumeric node)` |
    `void` | `meet​(IsResource node)` |
    `void` | `meet​(IsURI node)` |
    `void` | `meet​(Join node)` |
    `void` | `meet​(Label node)` |
    `void` | `meet​(Lang node)` |
    `void` | `meet​(LangMatches node)` |
    `void` | `meet​(LeftJoin node)` |
    `void` | `meet​(Like node)` | Deprecated, for removal: This API element is subject to removal in a future version.
    `void` | `meet​(ListMemberOperator node)` |
    `void` | `meet​(Load load)` |
    `void` | `meet​(LocalName node)` |
    `void` | `meet​(MathExpr node)` |
    `void` | `meet​(Max node)` |
    `void` | `meet​(Min node)` |
    `void` | `meet​(Modify modify)` |
    `void` | `meet​(Move move)` |
    `void` | `meet​(MultiProjection node)` |
    `void` | `meet​(Namespace node)` |
    `void` | `meet​(Not node)` |
    `void` | `meet​(Or node)` |
    `void` | `meet​(Order node)` |
    `void` | `meet​(OrderElem node)` |
    `void` | `meet​(Projection node)` |
    `void` | `meet​(ProjectionElem node)` |
    `void` | `meet​(ProjectionElemList node)` |
    `void` | `meet​(QueryRoot node)` |
    `void` | `meet​(Reduced node)` |
    `void` | `meet​(Regex node)` |
    `void` | `meet​(SameTerm node)` |
    `void` | `meet​(Sample node)` |
    `void` | `meet​(Service node)` |
    `void` | `meet​(SingletonSet node)` |
    `void` | `meet​(Slice node)` |
    `void` | `meet​(StatementPattern node)` |
    `void` | `meet​(Str node)` |
    `void` | `meet​(Sum node)` |
    `default void` | `meet​(TripleRef node)` |
    `void` | `meet​(Union node)` |
    `void` | `meet​(ValueConstant node)` |
    `default void` | `meet​(ValueExprTripleRef node)` |
    `void` | `meet​(Var node)` |
    `void` | `meet​(ZeroLengthPath node)` |
    `void` | `meetOther​(QueryModelNode node)` |

- - ### Method Detail

    - #### meet

          void meet​(QueryRoot node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Add add)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(And node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(ArbitraryLengthPath node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Avg node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(BindingSetAssignment node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(BNodeGenerator node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Bound node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Clear clear)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Coalesce node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Compare node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(CompareAll node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(CompareAny node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(DescribeOperator node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Copy copy)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Count node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Create create)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Datatype node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(DeleteData deleteData)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Difference node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Distinct node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(EmptySet node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Exists node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Extension node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(ExtensionElem node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Filter node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(FunctionCall node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Group node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(GroupConcat node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(GroupElem node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(If node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(In node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(InsertData insertData)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Intersection node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(IRIFunction node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(IsBNode node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(IsLiteral node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(IsNumeric node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(IsResource node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(IsURI node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Join node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Label node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Lang node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(LangMatches node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(LeftJoin node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          @Deprecated(forRemoval=true)
          void meet​(Like node)
             throws X extends Exception

      Deprecated, for removal: This API element is subject to removal in a future version.
      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Load load)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(LocalName node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(MathExpr node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Max node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Min node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Modify modify)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Move move)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(MultiProjection node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Namespace node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Not node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Or node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Order node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(OrderElem node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Projection node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(ProjectionElem node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(ProjectionElemList node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Reduced node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Regex node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(SameTerm node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Sample node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Service node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(SingletonSet node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Slice node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(StatementPattern node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Str node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Sum node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Union node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(ValueConstant node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(ListMemberOperator node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(Var node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          void meet​(ZeroLengthPath node)
             throws X extends Exception

      Throws:
        `X extends Exception`

    - #### meet

          default void meet​(TripleRef node)
                     throws X extends Exception

      Throws:
        `X extends Exception`
      Since:
        3.2.0

    - #### meet

          default void meet​(ValueExprTripleRef node)
                     throws X extends Exception

      Throws:
        `X extends Exception`
      Since:
        3.2.0

    - #### meetOther

          void meetOther​(QueryModelNode node)
                  throws X extends Exception

      Throws:
        `X extends Exception`