package com.chenyang.druid.sql.dialect.db2.ast.stmt;

import com.chenyang.druid.DbType;
import com.chenyang.druid.sql.ast.SQLExpr;
import com.chenyang.druid.sql.ast.SQLName;
import com.chenyang.druid.sql.ast.SQLStatementImpl;
import com.chenyang.druid.sql.ast.expr.SQLListExpr;
import com.chenyang.druid.sql.dialect.db2.visitor.DB2ASTVisitor;
import com.chenyang.druid.sql.visitor.SQLASTVisitor;

public class DB2CommonStatement extends SQLStatementImpl implements DB2SQLStatement {
   private boolean shutdown;
   private SQLExpr shutdownParam;
   private boolean dropGroup;
   private boolean ifExists;
   private SQLListExpr groupNameList;
   private boolean checkpoint;
   private boolean savepoint;
   private SQLName savepointName;
   private boolean rollback;
   private boolean prepared;
   private SQLName transactionId;
   private boolean commit;
   private boolean with;
   private SQLName csn;
   private boolean work;
   private boolean transaction;
   private boolean end;
   private boolean reset;
   private boolean role;

   public boolean isReset() {
      return this.reset;
   }

   public void setReset(boolean reset) {
      this.reset = reset;
   }

   public boolean isRole() {
      return this.role;
   }

   public void setRole(boolean role) {
      this.role = role;
   }

   public boolean isCheckpoint() {
      return this.checkpoint;
   }

   public void setCheckpoint(boolean checkpoint) {
      this.checkpoint = checkpoint;
   }

   public boolean isSavepoint() {
      return this.savepoint;
   }

   public void setSavepoint(boolean savepoint) {
      this.savepoint = savepoint;
   }

   public SQLName getSavepointName() {
      return this.savepointName;
   }

   public void setSavepointName(SQLName savepointName) {
      this.savepointName = savepointName;
   }

   public boolean isRollback() {
      return this.rollback;
   }

   public void setRollback(boolean rollback) {
      this.rollback = rollback;
   }

   public boolean isPrepared() {
      return this.prepared;
   }

   public void setPrepared(boolean prepared) {
      this.prepared = prepared;
   }

   public SQLName getTransactionId() {
      return this.transactionId;
   }

   public void setTransactionId(SQLName transactionId) {
      this.transactionId = transactionId;
   }

   public boolean isCommit() {
      return this.commit;
   }

   public void setCommit(boolean commit) {
      this.commit = commit;
   }

   public boolean isWith() {
      return this.with;
   }

   public void setWith(boolean with) {
      this.with = with;
   }

   public SQLName getCsn() {
      return this.csn;
   }

   public void setCsn(SQLName csn) {
      this.csn = csn;
   }

   public boolean isWork() {
      return this.work;
   }

   public void setWork(boolean work) {
      this.work = work;
   }

   public boolean isTransaction() {
      return this.transaction;
   }

   public void setTransaction(boolean transaction) {
      this.transaction = transaction;
   }

   public boolean isEnd() {
      return this.end;
   }

   public void setEnd(boolean end) {
      this.end = end;
   }

   public SQLListExpr getGroupNameList() {
      return this.groupNameList;
   }

   public boolean isIfExists() {
      return this.ifExists;
   }

   public void setIfExists(boolean ifExists) {
      this.ifExists = ifExists;
   }

   public void setGroupNameList(SQLListExpr groupNameList) {
      this.groupNameList = groupNameList;
   }

   public boolean isDropGroup() {
      return this.dropGroup;
   }

   public void setDropGroup(boolean dropGroup) {
      this.dropGroup = dropGroup;
   }

   public DB2CommonStatement() {
      this.dbType = DbType.db2;
   }

   public boolean isShutdown() {
      return this.shutdown;
   }

   public void setShutdown(boolean shutdown) {
      this.shutdown = shutdown;
   }

   public SQLExpr getShutdownParam() {
      return this.shutdownParam;
   }

   public void setShutdownParam(SQLExpr shutdownParam) {
      this.shutdownParam = shutdownParam;
   }

   public void accept0(SQLASTVisitor visitor) {
      this.accept0((DB2ASTVisitor)visitor);
   }

   public void accept0(DB2ASTVisitor v) {
      v.visit(this);
   }
}
