001/* 002 * Copyright (c) 2006-2011 Nuxeo SA (http://nuxeo.com/) and others. 003 * 004 * All rights reserved. This program and the accompanying materials 005 * are made available under the terms of the Eclipse Public License v1.0 006 * which accompanies this distribution, and is available at 007 * http://www.eclipse.org/legal/epl-v10.html 008 * 009 * Contributors: 010 * Bogdan Stefanescu 011 * Florent Guillaume 012 */ 013 014package org.nuxeo.ecm.core.query.sql.model; 015 016import java.io.Serializable; 017 018/** 019 * @author Bogdan Stefanescu 020 * @author Florent Guillaume 021 */ 022public interface IVisitor extends Serializable { 023 024 void visitLiteral(Literal node); 025 026 void visitLiteralList(LiteralList node); 027 028 void visitDateLiteral(DateLiteral node); 029 030 void visitStringLiteral(StringLiteral node); 031 032 void visitDoubleLiteral(DoubleLiteral node); 033 034 void visitIntegerLiteral(IntegerLiteral node); 035 036 void visitBooleanLiteral(BooleanLiteral node); 037 038 void visitOperandList(OperandList node); 039 040 void visitOperator(Operator node); 041 042 void visitSelectClause(SelectClause node); 043 044 void visitFromClause(FromClause node); 045 046 void visitWhereClause(WhereClause node); 047 048 void visitOrderByClause(OrderByClause node); 049 050 void visitOrderByList(OrderByList node); 051 052 void visitOrderByExpr(OrderByExpr node); 053 054 void visitGroupByClause(GroupByClause node); 055 056 void visitHavingClause(HavingClause node); 057 058 void visitExpression(Expression node); 059 060 void visitMultiExpression(MultiExpression node); 061 062 void visitReference(Reference node); 063 064 void visitReferenceList(ReferenceList node); 065 066 void visitQuery(SQLQuery node); 067 068 void visitFunction(Function node); 069 070}