package util.sqlparse.visitor.sqlserver.visitor;

import com.chenyang.druid.sql.ast.SQLStatement;
import com.chenyang.druid.sql.dialect.sqlserver.ast.SQLServerOutput;
import com.chenyang.druid.sql.dialect.sqlserver.ast.SQLServerSelectQueryBlock;
import com.chenyang.druid.sql.dialect.sqlserver.ast.SQLServerTop;
import com.chenyang.druid.sql.dialect.sqlserver.ast.clause.SQLServerOver;
import com.chenyang.druid.sql.dialect.sqlserver.ast.expr.SQLServerCurrentOfCursorExpr;
import com.chenyang.druid.sql.dialect.sqlserver.ast.expr.SQLServerDateTimeExpr;
import com.chenyang.druid.sql.dialect.sqlserver.ast.expr.SQLServerObjectReferenceExpr;
import com.chenyang.druid.sql.dialect.sqlserver.ast.stmt.SQLServerDeleteStatement;
import com.chenyang.druid.sql.dialect.sqlserver.ast.stmt.SQLServerExecStatement;
import com.chenyang.druid.sql.dialect.sqlserver.ast.stmt.SQLServerInsertStatement;
import com.chenyang.druid.sql.dialect.sqlserver.ast.stmt.SQLServerMergeStatement;
import com.chenyang.druid.sql.dialect.sqlserver.ast.stmt.SQLServerRollbackStatement;
import com.chenyang.druid.sql.dialect.sqlserver.ast.stmt.SQLServerSelectPivot;
import com.chenyang.druid.sql.dialect.sqlserver.ast.stmt.SQLServerSelectSubqueryTableSource;
import com.chenyang.druid.sql.dialect.sqlserver.ast.stmt.SQLServerSelectTableReference;
import com.chenyang.druid.sql.dialect.sqlserver.ast.stmt.SQLServerSelectUnPivot;
import com.chenyang.druid.sql.dialect.sqlserver.ast.stmt.SQLServerSetTransactionIsolationLevelStatement;
import com.chenyang.druid.sql.dialect.sqlserver.ast.stmt.SQLServerUnionQueryTableSource;
import com.chenyang.druid.sql.dialect.sqlserver.ast.stmt.SQLServerUpdateSetItem;
import com.chenyang.druid.sql.dialect.sqlserver.ast.stmt.SQLServerUpdateStatement;
import com.chenyang.druid.sql.dialect.sqlserver.ast.stmt.SQLServerValuesTableSource;
import com.chenyang.druid.sql.dialect.sqlserver.ast.stmt.SQLServerWaitForStatement;
import com.chenyang.druid.sql.dialect.sqlserver.visitor.SQLServerASTVisitor;
import java.util.List;
import util.sqlparse.visitor.Formater;

public class FormatVisitor extends Formater implements SQLServerASTVisitor {
   private boolean debug = false;

   public void perform(List<SQLStatement> statements) {
      if (statements != null && statements.size() != 0) {
         for(SQLStatement statement : statements) {
            statement.accept(this);
         }

      }
   }

   public boolean visit(SQLServerSelectQueryBlock x) {
      return false;
   }

   public void endVisit(SQLServerSelectQueryBlock x) {
   }

   public boolean visit(SQLServerTop x) {
      return false;
   }

   public void endVisit(SQLServerTop x) {
   }

   public boolean visit(SQLServerObjectReferenceExpr x) {
      return false;
   }

   public void endVisit(SQLServerObjectReferenceExpr x) {
   }

   public boolean visit(SQLServerInsertStatement x) {
      return false;
   }

   public void endVisit(SQLServerInsertStatement x) {
   }

   public boolean visit(SQLServerUpdateStatement x) {
      return false;
   }

   public void endVisit(SQLServerUpdateStatement x) {
   }

   public boolean visit(SQLServerExecStatement x) {
      return false;
   }

   public void endVisit(SQLServerExecStatement x) {
   }

   public boolean visit(SQLServerSetTransactionIsolationLevelStatement x) {
      return false;
   }

   public void endVisit(SQLServerSetTransactionIsolationLevelStatement x) {
   }

   public boolean visit(SQLServerOutput x) {
      return false;
   }

   public void endVisit(SQLServerOutput x) {
   }

   public boolean visit(SQLServerRollbackStatement x) {
      return false;
   }

   public void endVisit(SQLServerRollbackStatement x) {
   }

   public boolean visit(SQLServerWaitForStatement x) {
      return false;
   }

   public void endVisit(SQLServerWaitForStatement x) {
   }

   public boolean visit(SQLServerExecStatement.SQLServerParameter x) {
      return false;
   }

   public void endVisit(SQLServerExecStatement.SQLServerParameter x) {
   }

   public boolean visit(SQLServerUpdateSetItem x) {
      return false;
   }

   public void endVisit(SQLServerUpdateSetItem x) {
   }

   public boolean visit(SQLServerDeleteStatement x) {
      return false;
   }

   public void endVisit(SQLServerDeleteStatement x) {
   }

   public boolean visit(SQLServerDateTimeExpr x) {
      return false;
   }

   public void endVisit(SQLServerDateTimeExpr x) {
   }

   public boolean visit(SQLServerOver x) {
      return false;
   }

   public void endVisit(SQLServerOver x) {
   }

   public boolean visit(SQLServerSelectPivot x) {
      return false;
   }

   public void endVisit(SQLServerSelectPivot x) {
   }

   public boolean visit(SQLServerSelectUnPivot x) {
      return false;
   }

   public void endVisit(SQLServerSelectUnPivot x) {
   }

   public boolean visit(SQLServerSelectPivot.Item x) {
      return false;
   }

   public void endVisit(SQLServerSelectPivot.Item x) {
   }

   public boolean visit(SQLServerSelectSubqueryTableSource x) {
      return false;
   }

   public void endVisit(SQLServerSelectSubqueryTableSource x) {
   }

   public boolean visit(SQLServerValuesTableSource x) {
      return false;
   }

   public void endVisit(SQLServerValuesTableSource x) {
   }

   public boolean visit(SQLServerUnionQueryTableSource x) {
      return false;
   }

   public void endVisit(SQLServerUnionQueryTableSource x) {
   }

   public boolean visit(SQLServerSelectTableReference x) {
      return false;
   }

   public void endVisit(SQLServerSelectTableReference x) {
   }

   public boolean visit(SQLServerCurrentOfCursorExpr x) {
      return false;
   }

   public void endVisit(SQLServerCurrentOfCursorExpr x) {
   }

   public boolean visit(SQLServerMergeStatement.MergeDeleteClause x) {
      return false;
   }

   public void endVisit(SQLServerMergeStatement.MergeDeleteClause x) {
   }

   public boolean visit(SQLServerMergeStatement x) {
      return false;
   }

   public void endVisit(SQLServerMergeStatement x) {
   }

   public boolean visit(SQLServerMergeStatement.SQLServerMergeInsertClause x) {
      return false;
   }

   public void endVisit(SQLServerMergeStatement.SQLServerMergeInsertClause x) {
   }

   public boolean visit(SQLServerMergeStatement.SQLServerMergeUpdateClause x) {
      return false;
   }

   public void endVisit(SQLServerMergeStatement.SQLServerMergeUpdateClause x) {
   }
}
