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.SQLStatementImpl;
import com.chenyang.druid.sql.ast.statement.SQLAlterStatement;
import com.chenyang.druid.sql.dialect.gauss.visitor.GaussASTVisitor;
import com.chenyang.druid.sql.visitor.SQLASTVisitor;

public class GaussAlterSessionStatement extends SQLStatementImpl implements GaussSQLStatement, SQLAlterStatement {
   private boolean sessionCharacteristicsAs;
   private boolean transaction;
   private boolean isolationLevel;
   private boolean readCommitted;
   private boolean readUncommitted;
   private boolean readOnly;
   private boolean readWrite;
   private SQLExpr configParameter;
   private boolean configParameterTo;
   private boolean configParameterEq;
   private SQLExpr value;
   private boolean configParameterDefault;
   private boolean fromCurrent;
   private boolean currentSchema;
   private boolean currentSchemaTo;
   private boolean currentSchemaEq;
   private SQLExpr schema;
   private boolean currentSchemaDefault;
   private boolean timeZone;
   private SQLExpr timeZoneValue;
   private boolean setSchema;
   private boolean names;
   private SQLExpr encodingName;
   private boolean role;
   private SQLExpr roleName;
   private boolean password;
   private SQLExpr passwordValue;
   private boolean sessionAuthorization;
   private boolean sessionAuthorizationDefault;
   private boolean xmlOption;
   private boolean document;
   private boolean content;

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

   public boolean isSessionCharacteristicsAs() {
      return this.sessionCharacteristicsAs;
   }

   public void setSessionCharacteristicsAs(boolean sessionCharacteristicsAs) {
      this.sessionCharacteristicsAs = sessionCharacteristicsAs;
   }

   public boolean isTransaction() {
      return this.transaction;
   }

   public void setTransaction(boolean transaction) {
      this.transaction = transaction;
   }

   public boolean isIsolationLevel() {
      return this.isolationLevel;
   }

   public void setIsolationLevel(boolean isolationLevel) {
      this.isolationLevel = isolationLevel;
   }

   public boolean isReadCommitted() {
      return this.readCommitted;
   }

   public void setReadCommitted(boolean readCommitted) {
      this.readCommitted = readCommitted;
   }

   public boolean isReadUncommitted() {
      return this.readUncommitted;
   }

   public void setReadUncommitted(boolean readUncommitted) {
      this.readUncommitted = readUncommitted;
   }

   public boolean isReadOnly() {
      return this.readOnly;
   }

   public void setReadOnly(boolean readOnly) {
      this.readOnly = readOnly;
   }

   public boolean isReadWrite() {
      return this.readWrite;
   }

   public void setReadWrite(boolean readWrite) {
      this.readWrite = readWrite;
   }

   public SQLExpr getConfigParameter() {
      return this.configParameter;
   }

   public void setConfigParameter(SQLExpr configParameter) {
      this.configParameter = configParameter;
   }

   public boolean isConfigParameterTo() {
      return this.configParameterTo;
   }

   public void setConfigParameterTo(boolean configParameterTo) {
      this.configParameterTo = configParameterTo;
   }

   public boolean isConfigParameterEq() {
      return this.configParameterEq;
   }

   public void setConfigParameterEq(boolean configParameterEq) {
      this.configParameterEq = configParameterEq;
   }

   public SQLExpr getValue() {
      return this.value;
   }

   public void setValue(SQLExpr value) {
      this.value = value;
   }

   public boolean isConfigParameterDefault() {
      return this.configParameterDefault;
   }

   public void setConfigParameterDefault(boolean configParameterDefault) {
      this.configParameterDefault = configParameterDefault;
   }

   public boolean isCurrentSchema() {
      return this.currentSchema;
   }

   public void setCurrentSchema(boolean currentSchema) {
      this.currentSchema = currentSchema;
   }

   public boolean isCurrentSchemaTo() {
      return this.currentSchemaTo;
   }

   public void setCurrentSchemaTo(boolean currentSchemaTo) {
      this.currentSchemaTo = currentSchemaTo;
   }

   public boolean isCurrentSchemaEq() {
      return this.currentSchemaEq;
   }

   public void setCurrentSchemaEq(boolean currentSchemaEq) {
      this.currentSchemaEq = currentSchemaEq;
   }

   public SQLExpr getSchema() {
      return this.schema;
   }

   public void setSchema(SQLExpr schema) {
      this.schema = schema;
   }

   public boolean isCurrentSchemaDefault() {
      return this.currentSchemaDefault;
   }

   public void setCurrentSchemaDefault(boolean currentSchemaDefault) {
      this.currentSchemaDefault = currentSchemaDefault;
   }

   public boolean isTimeZone() {
      return this.timeZone;
   }

   public void setTimeZone(boolean timeZone) {
      this.timeZone = timeZone;
   }

   public SQLExpr getTimeZoneValue() {
      return this.timeZoneValue;
   }

   public void setTimeZoneValue(SQLExpr timeZoneValue) {
      this.timeZoneValue = timeZoneValue;
   }

   public boolean isSetSchema() {
      return this.setSchema;
   }

   public void setSetSchema(boolean setSchema) {
      this.setSchema = setSchema;
   }

   public boolean isNames() {
      return this.names;
   }

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

   public SQLExpr getEncodingName() {
      return this.encodingName;
   }

   public void setEncodingName(SQLExpr encodingName) {
      this.encodingName = encodingName;
   }

   public boolean isRole() {
      return this.role;
   }

   public void setRole(boolean role) {
      this.role = role;
   }

   public SQLExpr getRoleName() {
      return this.roleName;
   }

   public void setRoleName(SQLExpr roleName) {
      this.roleName = roleName;
   }

   public boolean isPassword() {
      return this.password;
   }

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

   public SQLExpr getPasswordValue() {
      return this.passwordValue;
   }

   public void setPasswordValue(SQLExpr passwordValue) {
      this.passwordValue = passwordValue;
   }

   public boolean getSessionAuthorization() {
      return this.sessionAuthorization;
   }

   public void setSessionAuthorization(boolean sessionAuthorization) {
      this.sessionAuthorization = sessionAuthorization;
   }

   public boolean isSessionAuthorizationDefault() {
      return this.sessionAuthorizationDefault;
   }

   public void setSessionAuthorizationDefault(boolean sessionAuthorizationDefault) {
      this.sessionAuthorizationDefault = sessionAuthorizationDefault;
   }

   public boolean isXmlOption() {
      return this.xmlOption;
   }

   public void setXmlOption(boolean xmlOption) {
      this.xmlOption = xmlOption;
   }

   public boolean isDocument() {
      return this.document;
   }

   public void setDocument(boolean document) {
      this.document = document;
   }

   public boolean isContent() {
      return this.content;
   }

   public void setContent(boolean content) {
      this.content = content;
   }

   public boolean isFromCurrent() {
      return this.fromCurrent;
   }

   public void setFromCurrent(boolean fromCurrent) {
      this.fromCurrent = fromCurrent;
   }

   public boolean isSessionAuthorization() {
      return this.sessionAuthorization;
   }

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

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

      visitor.endVisit(this);
   }
}
