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

import com.alibaba.druid.DbType;
import com.alibaba.druid.sql.ast.SQLName;
import com.alibaba.druid.sql.ast.expr.SQLListExpr;
import com.alibaba.druid.sql.ast.statement.SQLAlterStatement;
import com.alibaba.druid.sql.ast.statement.SQLAlterUserStatement;
import com.alibaba.druid.sql.dialect.db2.visitor.DB2ASTVisitor;
import com.alibaba.druid.sql.visitor.SQLASTVisitor;

public class DB2AlterGroupStatement extends SQLAlterUserStatement implements DB2SQLStatement, 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 DB2AlterGroupStatement() {
      this.dbType = DbType.db2;
   }

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

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