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

import com.chenyang.druid.DbType;
import com.chenyang.druid.sql.ast.SQLExpr;
import com.chenyang.druid.sql.ast.expr.SQLListExpr;
import com.chenyang.druid.sql.ast.statement.SQLAlterStatement;
import com.chenyang.druid.sql.ast.statement.SQLCreateUserStatement;
import com.chenyang.druid.sql.dialect.db2.ast.stmt.DB2SQLStatement;
import com.chenyang.druid.sql.dialect.db2.visitor.DB2ASTVisitor;
import com.chenyang.druid.sql.visitor.SQLASTVisitor;

public class DB2CreateUserStatement extends SQLCreateUserStatement implements DB2SQLStatement, SQLAlterStatement {
   private boolean passwordFlag;
   private boolean expirePassword;
   private boolean passwordexpiry;
   private SQLExpr passwordexpiryDay;
   private boolean auth;
   private SQLExpr authType;
   public boolean sysid;
   public SQLExpr sysidValue;
   public boolean inGroup;
   public SQLListExpr inGroupList;
   public boolean inResourcegroup;
   public SQLExpr inResourcegroupRsg;
   public boolean validUntil;
   public SQLExpr validDate;
   public boolean defpriority;
   public SQLExpr defpriorityType;
   public boolean maxpriority;
   public SQLExpr maxpriorityType;
   public boolean rowsetlimit;
   public SQLExpr rslimit;
   public boolean sessiontimeout;
   public SQLExpr sessiontimeoutValue;
   public boolean querytimeout;
   public SQLExpr querytimeoutValue;
   public boolean concurrentSessions;
   public SQLExpr concurrentSessionsValue;
   public boolean securityLabel;
   public SQLExpr securityLabelValue;
   public boolean auditCategory;
   public SQLListExpr auditCategoryList;
   public boolean collectHistory;
   public SQLExpr collectHistoryType;
   public boolean allowCrossJoin;
   public SQLExpr allowCrossJoinType;
   public boolean accessTime;
   public SQLExpr accessTimeValue;
   public SQLListExpr accessTimeList;
   public boolean with;

   public boolean isExpirePassword() {
      return this.expirePassword;
   }

   public void setExpirePassword(boolean expirePassword) {
      this.expirePassword = expirePassword;
   }

   public boolean isPasswordexpiry() {
      return this.passwordexpiry;
   }

   public void setPasswordexpiry(boolean passwordexpiry) {
      this.passwordexpiry = passwordexpiry;
   }

   public SQLExpr getPasswordexpiryDay() {
      return this.passwordexpiryDay;
   }

   public void setPasswordexpiryDay(SQLExpr passwordexpiryDay) {
      this.passwordexpiryDay = passwordexpiryDay;
   }

   public boolean isAuth() {
      return this.auth;
   }

   public void setAuth(boolean auth) {
      this.auth = auth;
   }

   public SQLExpr getAuthType() {
      return this.authType;
   }

   public void setAuthType(SQLExpr authType) {
      this.authType = authType;
   }

   public boolean isSysid() {
      return this.sysid;
   }

   public void setSysid(boolean sysid) {
      this.sysid = sysid;
   }

   public SQLExpr getSysidValue() {
      return this.sysidValue;
   }

   public void setSysidValue(SQLExpr sysidValue) {
      this.sysidValue = sysidValue;
   }

   public boolean isInGroup() {
      return this.inGroup;
   }

   public void setInGroup(boolean inGroup) {
      this.inGroup = inGroup;
   }

   public SQLListExpr getInGroupList() {
      return this.inGroupList;
   }

   public void setInGroupList(SQLListExpr inGroupList) {
      this.inGroupList = inGroupList;
   }

   public boolean isInResourcegroup() {
      return this.inResourcegroup;
   }

   public void setInResourcegroup(boolean inResourcegroup) {
      this.inResourcegroup = inResourcegroup;
   }

   public SQLExpr getInResourcegroupRsg() {
      return this.inResourcegroupRsg;
   }

   public void setInResourcegroupRsg(SQLExpr inResourcegroupRsg) {
      this.inResourcegroupRsg = inResourcegroupRsg;
   }

   public boolean isValidUntil() {
      return this.validUntil;
   }

   public void setValidUntil(boolean validUntil) {
      this.validUntil = validUntil;
   }

   public SQLExpr getValidDate() {
      return this.validDate;
   }

   public void setValidDate(SQLExpr validDate) {
      this.validDate = validDate;
   }

   public boolean isDefpriority() {
      return this.defpriority;
   }

   public void setDefpriority(boolean defpriority) {
      this.defpriority = defpriority;
   }

   public SQLExpr getDefpriorityType() {
      return this.defpriorityType;
   }

   public void setDefpriorityType(SQLExpr defpriorityType) {
      this.defpriorityType = defpriorityType;
   }

   public boolean isMaxpriority() {
      return this.maxpriority;
   }

   public void setMaxpriority(boolean maxpriority) {
      this.maxpriority = maxpriority;
   }

   public SQLExpr getMaxpriorityType() {
      return this.maxpriorityType;
   }

   public void setMaxpriorityType(SQLExpr maxpriorityType) {
      this.maxpriorityType = maxpriorityType;
   }

   public boolean isRowsetlimit() {
      return this.rowsetlimit;
   }

   public void setRowsetlimit(boolean rowsetlimit) {
      this.rowsetlimit = rowsetlimit;
   }

   public SQLExpr getRslimit() {
      return this.rslimit;
   }

   public void setRslimit(SQLExpr rslimit) {
      this.rslimit = rslimit;
   }

   public boolean isSessiontimeout() {
      return this.sessiontimeout;
   }

   public void setSessiontimeout(boolean sessiontimeout) {
      this.sessiontimeout = sessiontimeout;
   }

   public SQLExpr getSessiontimeoutValue() {
      return this.sessiontimeoutValue;
   }

   public void setSessiontimeoutValue(SQLExpr sessiontimeoutValue) {
      this.sessiontimeoutValue = sessiontimeoutValue;
   }

   public boolean isQuerytimeout() {
      return this.querytimeout;
   }

   public void setQuerytimeout(boolean querytimeout) {
      this.querytimeout = querytimeout;
   }

   public SQLExpr getQuerytimeoutValue() {
      return this.querytimeoutValue;
   }

   public void setQuerytimeoutValue(SQLExpr querytimeoutValue) {
      this.querytimeoutValue = querytimeoutValue;
   }

   public boolean isConcurrentSessions() {
      return this.concurrentSessions;
   }

   public void setConcurrentSessions(boolean concurrentSessions) {
      this.concurrentSessions = concurrentSessions;
   }

   public SQLExpr getConcurrentSessionsValue() {
      return this.concurrentSessionsValue;
   }

   public SQLExpr getAccessTimeValue() {
      return this.accessTimeValue;
   }

   public void setAccessTimeValue(SQLExpr accessTimeValue) {
      this.accessTimeValue = accessTimeValue;
   }

   public void setConcurrentSessionsValue(SQLExpr concurrentSessionsValue) {
      this.concurrentSessionsValue = concurrentSessionsValue;
   }

   public boolean isSecurityLabel() {
      return this.securityLabel;
   }

   public void setSecurityLabel(boolean securityLabel) {
      this.securityLabel = securityLabel;
   }

   public SQLExpr getSecurityLabelValue() {
      return this.securityLabelValue;
   }

   public void setSecurityLabelValue(SQLExpr securityLabelValue) {
      this.securityLabelValue = securityLabelValue;
   }

   public boolean isAuditCategory() {
      return this.auditCategory;
   }

   public void setAuditCategory(boolean auditCategory) {
      this.auditCategory = auditCategory;
   }

   public SQLListExpr getAuditCategoryList() {
      return this.auditCategoryList;
   }

   public void setAuditCategoryList(SQLListExpr auditCategoryList) {
      this.auditCategoryList = auditCategoryList;
   }

   public boolean isCollectHistory() {
      return this.collectHistory;
   }

   public void setCollectHistory(boolean collectHistory) {
      this.collectHistory = collectHistory;
   }

   public SQLExpr getCollectHistoryType() {
      return this.collectHistoryType;
   }

   public void setCollectHistoryType(SQLExpr collectHistoryType) {
      this.collectHistoryType = collectHistoryType;
   }

   public boolean isAllowCrossJoin() {
      return this.allowCrossJoin;
   }

   public void setAllowCrossJoin(boolean allowCrossJoin) {
      this.allowCrossJoin = allowCrossJoin;
   }

   public SQLExpr getAllowCrossJoinType() {
      return this.allowCrossJoinType;
   }

   public void setAllowCrossJoinType(SQLExpr allowCrossJoinType) {
      this.allowCrossJoinType = allowCrossJoinType;
   }

   public boolean isAccessTime() {
      return this.accessTime;
   }

   public void setAccessTime(boolean accessTime) {
      this.accessTime = accessTime;
   }

   public SQLListExpr getAccessTimeList() {
      return this.accessTimeList;
   }

   public void setAccessTimeList(SQLListExpr accessTimeList) {
      this.accessTimeList = accessTimeList;
   }

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

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

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

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

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

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

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