package com.taobao.tddl.optimizer.core;
import java.util.List;
import com.taobao.tddl.optimizer.core.expression.IColumn;
import com.taobao.tddl.optimizer.core.expression.IFilter;
import com.taobao.tddl.optimizer.core.expression.IFunction;
import com.taobao.tddl.optimizer.core.expression.IOrderBy;
import com.taobao.tddl.optimizer.core.expression.bean.NullValue;
import com.taobao.tddl.optimizer.core.plan.dml.IDelete;
import com.taobao.tddl.optimizer.core.plan.dml.IInsert;
import com.taobao.tddl.optimizer.core.plan.dml.IReplace;
import com.taobao.tddl.optimizer.core.plan.dml.IUpdate;
import com.taobao.tddl.optimizer.core.plan.query.IJoin;
import com.taobao.tddl.optimizer.core.plan.query.IQuery;
public interface PlanVisitor {
public abstract void visit(IColumn column);
public abstract void visit(IFilter filter);
public abstract void visit(IFunction func);
public abstract void visit(IJoin join);
public abstract void visit(IOrderBy orderBy);
public abstract void visit(IQuery query);
public abstract void visit(NullValue nullValue);
public abstract void visit(List cl);
public abstract void visit(Object s);
public abstract void visit(IReplace put);
public abstract void visit(IInsert insert);
public abstract void visit(IUpdate update);
public abstract void visit(IDelete delete);
}