/* * Copyright Aduna (http://www.aduna-software.com/) (c) 1997-2006. * * Licensed under the Aduna BSD-style license. */ package org.openrdf.query.algebra; /** * An interface for query model visitors, implementing the Visitor pattern. Core * query model nodes will call their type-specific method when * {@link QueryModelNode#visit(QueryModelVisitor)} is called. The method * {@link #meetOther(QueryModelNode)} is provided as a hook for foreign query * model nodes. */ public interface QueryModelVisitor<X extends Exception> { public void meet(QueryRoot node) throws X; public void meet(And node) throws X; public void meet(BNodeGenerator node) throws X; public void meet(Bound node) throws X; public void meet(Compare node) throws X; public void meet(CompareAll node) throws X; public void meet(CompareAny node) throws X; public void meet(Count node) throws X; public void meet(Datatype node) throws X; public void meet(Difference node) throws X; public void meet(Distinct node) throws X; public void meet(EmptySet node) throws X; public void meet(Exists node) throws X; public void meet(Extension node) throws X; public void meet(ExtensionElem node) throws X; public void meet(FunctionCall node) throws X; public void meet(Group node) throws X; public void meet(GroupElem node) throws X; public void meet(In node) throws X; public void meet(Intersection node) throws X; public void meet(IsBNode node) throws X; public void meet(IsLiteral node) throws X; public void meet(IsResource node) throws X; public void meet(IsURI node) throws X; public void meet(Join node) throws X; public void meet(Label node) throws X; public void meet(Lang node) throws X; public void meet(LangMatches node) throws X; public void meet(Like node) throws X; public void meet(LocalName node) throws X; public void meet(MathExpr node) throws X; public void meet(Max node) throws X; public void meet(Min node) throws X; public void meet(MultiProjection node) throws X; public void meet(Namespace node) throws X; public void meet(Not node) throws X; public void meet(LeftJoin node) throws X; public void meet(Or node) throws X; public void meet(Order node) throws X; public void meet(OrderElem node) throws X; public void meet(Projection node) throws X; public void meet(ProjectionElemList node) throws X; public void meet(ProjectionElem node) throws X; public void meet(Regex node) throws X; public void meet(Slice node) throws X; public void meet(SameTerm node) throws X; public void meet(Filter node) throws X; public void meet(SingletonSet node) throws X; public void meet(StatementPattern node) throws X; public void meet(Str node) throws X; public void meet(Union node) throws X; public void meet(ValueConstant node) throws X; public void meet(Var node) throws X; public void meetOther(QueryModelNode node) throws X; }