package util.sqlparse.visitor.kingbase.visitor;

import com.alibaba.druid.sql.ast.SQLStatement;
import com.alibaba.druid.sql.dialect.kingbase.ast.KingbaseValuesTableSource;
import com.alibaba.druid.sql.dialect.kingbase.ast.ValueClause;
import com.alibaba.druid.sql.dialect.kingbase.ast.clause.KingbaseSQLOver;
import com.alibaba.druid.sql.dialect.kingbase.ast.clause.KingbaseWithSubqueryEntry;
import com.alibaba.druid.sql.dialect.kingbase.ast.expression.KingbaseArgumentExpr;
import com.alibaba.druid.sql.dialect.kingbase.ast.expression.KingbaseCaseStatement;
import com.alibaba.druid.sql.dialect.kingbase.ast.expression.KingbaseCharExpr;
import com.alibaba.druid.sql.dialect.kingbase.ast.expression.KingbaseConstantExpr;
import com.alibaba.druid.sql.dialect.kingbase.ast.expression.KingbaseDateTimeExpr;
import com.alibaba.druid.sql.dialect.kingbase.ast.expression.KingbaseExprTableSource;
import com.alibaba.druid.sql.dialect.kingbase.ast.expression.KingbaseForUpdateExpr;
import com.alibaba.druid.sql.dialect.kingbase.ast.expression.KingbaseTypeCastExpr;
import com.alibaba.druid.sql.dialect.kingbase.ast.expression.KingbaseUpdateTableSource;
import com.alibaba.druid.sql.dialect.kingbase.ast.statement.KingbaseDeleteStatement;
import com.alibaba.druid.sql.dialect.kingbase.ast.statement.KingbaseInsertStatement;
import com.alibaba.druid.sql.dialect.kingbase.ast.statement.KingbaseMultiInsertStatement;
import com.alibaba.druid.sql.dialect.kingbase.ast.statement.KingbaseSelectQueryBlock;
import com.alibaba.druid.sql.dialect.kingbase.ast.statement.KingbaseUpdateStatement;
import com.alibaba.druid.sql.dialect.kingbase.visitor.KingbaseASTVisitor;
import java.util.List;
import util.sqlparse.visitor.Formater;

public class FormatVisitor extends Formater implements KingbaseASTVisitor {
   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(ValueClause x) {
      return false;
   }

   public void endVisit(ValueClause x) {
   }

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

   public void endVisit(ValueClause.Item x) {
   }

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

   public void endVisit(KingbaseValuesTableSource x) {
   }

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

   public void endVisit(KingbaseUpdateStatement x) {
   }

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

   public void endVisit(KingbaseUpdateTableSource x) {
   }

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

   public void endVisit(KingbaseSelectQueryBlock x) {
   }

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

   public void endVisit(KingbaseArgumentExpr x) {
   }

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

   public void endVisit(KingbaseCharExpr x) {
   }

   public boolean visit(KingbaseCaseStatement.KingbaseWhenStatement x) {
      return false;
   }

   public void endVisit(KingbaseCaseStatement.KingbaseWhenStatement x) {
   }

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

   public void endVisit(KingbaseCaseStatement x) {
   }

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

   public void endVisit(KingbaseInsertStatement x) {
   }

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

   public void endVisit(KingbaseDeleteStatement x) {
   }

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

   public void endVisit(KingbaseTypeCastExpr x) {
   }

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

   public void endVisit(KingbaseSQLOver x) {
   }

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

   public void endVisit(KingbaseDateTimeExpr x) {
   }

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

   public void endVisit(KingbaseForUpdateExpr x) {
   }

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

   public void endVisit(KingbaseExprTableSource x) {
   }

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

   public void endVisit(KingbaseWithSubqueryEntry x) {
   }

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

   public void endVisit(KingbaseConstantExpr x) {
   }

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

   public void endVisit(KingbaseMultiInsertStatement x) {
   }

   public boolean visit(KingbaseMultiInsertStatement.ConditionalInsertClause x) {
      return false;
   }

   public void endVisit(KingbaseMultiInsertStatement.ConditionalInsertClause x) {
   }

   public boolean visit(KingbaseMultiInsertStatement.ConditionalInsertClauseItem x) {
      return false;
   }

   public void endVisit(KingbaseMultiInsertStatement.ConditionalInsertClauseItem x) {
   }

   public boolean visit(KingbaseMultiInsertStatement.InsertIntoClause x) {
      return false;
   }

   public void endVisit(KingbaseMultiInsertStatement.InsertIntoClause x) {
   }
}
