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

import com.chenyang.druid.DbType;
import com.chenyang.druid.sql.ast.SQLName;
import com.chenyang.druid.sql.ast.expr.SQLListExpr;
import com.chenyang.druid.sql.ast.statement.SQLAlterStatement;
import com.chenyang.druid.sql.ast.statement.SQLAlterUserStatement;
import com.chenyang.druid.sql.dialect.gauss.visitor.GaussASTVisitor;
import com.chenyang.druid.sql.visitor.SQLASTVisitor;

public class GaussAlterGroupStatement extends SQLAlterUserStatement implements GaussSQLStatement, SQLAlterStatement {
   private boolean addUser;
   private boolean dropUser;
   private boolean renameTo;
   private SQLName groupName;
   private SQLName newName;
   private SQLName newUser;
   private SQLListExpr names;

   public SQLListExpr getNames() {
      return this.names;
   }

   public void setNames(SQLListExpr names) {
      this.names = names;
   }

   public SQLName getGroupName() {
      return this.groupName;
   }

   public void setGroupName(SQLName groupName) {
      this.groupName = groupName;
   }

   public boolean isAddUser() {
      return this.addUser;
   }

   public void setAddUser(boolean addUser) {
      this.addUser = addUser;
   }

   public boolean isDropUser() {
      return this.dropUser;
   }

   public void setDropUser(boolean dropUser) {
      this.dropUser = dropUser;
   }

   public boolean isRenameTo() {
      return this.renameTo;
   }

   public void setRenameTo(boolean renameTo) {
      this.renameTo = renameTo;
   }

   public SQLName getNewName() {
      return this.newName;
   }

   public void setNewName(SQLName newName) {
      this.newName = newName;
   }

   public SQLName getNewUser() {
      return this.newUser;
   }

   public void setNewUser(SQLName newUser) {
      this.newUser = newUser;
   }

   public GaussAlterGroupStatement() {
      this.dbType = DbType.gauss;
   }

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

   public void accept0(GaussASTVisitor visitor) {
      visitor.visit(this);
   }
}
