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.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 GaussAlterRoleStatement extends SQLAlterUserStatement implements GaussSQLStatement, SQLAlterStatement {
   private boolean passwordFlag;
   public boolean encrypted;
   public boolean unencrypted;
   public boolean expired;
   public boolean disable;
   public boolean renameTo;
   public boolean account;
   public boolean lock;
   public boolean unlock;
   public SQLName newName;

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

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

   public boolean isAccount() {
      return this.account;
   }

   public void setAccount(boolean account) {
      this.account = account;
   }

   public boolean isLock() {
      return this.lock;
   }

   public void setLock(boolean lock) {
      this.lock = lock;
   }

   public boolean isUnlock() {
      return this.unlock;
   }

   public void setUnlock(boolean unlock) {
      this.unlock = unlock;
   }

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

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

   public boolean isPasswordFlag() {
      return this.passwordFlag;
   }

   public void setPasswordFlag(boolean passwordFlag) {
      this.passwordFlag = passwordFlag;
   }

   public boolean isEncrypted() {
      return this.encrypted;
   }

   public void setEncrypted(boolean encrypted) {
      this.encrypted = encrypted;
   }

   public boolean isUnencrypted() {
      return this.unencrypted;
   }

   public void setUnencrypted(boolean unencrypted) {
      this.unencrypted = unencrypted;
   }

   public boolean isExpired() {
      return this.expired;
   }

   public void setExpired(boolean expired) {
      this.expired = expired;
   }

   public boolean isDisable() {
      return this.disable;
   }

   public void setDisable(boolean disable) {
      this.disable = disable;
   }

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

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

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