1 // $Id: Statement.java,v 1.1 2005/07/12 20:27:17 steveebersole Exp $ 2 package org.hibernate.hql.ast.tree; 3 4 import org.hibernate.hql.ast.HqlSqlWalker; 5 6 /** 7 * Common interface modeling the different HQL statements (i.e., INSERT, UPDATE, DELETE, SELECT). 8 * 9 * @author Steve Ebersole 10 */ 11 public interface Statement { 12 13 /** 14 * Retreive the "phase 2" walker which generated this statement tree. 15 * 16 * @return The HqlSqlWalker instance which generated this statement tree. 17 */ 18 public HqlSqlWalker getWalker(); 19 20 /** 21 * Return the main token type representing the type of this statement. 22 * 23 * @return The corresponding token type. 24 */ 25 public int getStatementType(); 26 27 /** 28 * Does this statement require the StatementExecutor? 29 * </p> 30 * Essentially, at the JDBC level, does this require an executeUpdate()? 31 * 32 * @return True if this statement should be handed off to the 33 * StatementExecutor to be executed; false otherwise. 34 */ 35 public boolean needsExecutor(); 36 } 37