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

import com.chenyang.druid.DbType;
import com.chenyang.druid.sql.ast.SQLExpr;
import com.chenyang.druid.sql.ast.statement.SQLAlterStatement;
import com.chenyang.druid.sql.ast.statement.SQLCreateRoleStatement;
import com.chenyang.druid.sql.dialect.gauss.visitor.GaussASTVisitor;
import com.chenyang.druid.sql.visitor.SQLASTVisitor;

public class GaussCreateRoleStatement extends SQLCreateRoleStatement implements GaussSQLStatement, SQLAlterStatement {
   private boolean passwordFlag;
   public boolean encrypted;
   public boolean unencrypted;
   public boolean expired;
   public boolean disable;
   public SQLExpr password;

   public SQLExpr getPassword() {
      return this.password;
   }

   public void setPassword(SQLExpr password) {
      this.password = password;
   }

   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 GaussCreateRoleStatement() {
      this.dbType = DbType.gauss;
   }

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

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