package com.chenyang.druid.sql.dialect.db2.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.db2.visitor.DB2ASTVisitor;
import com.chenyang.druid.sql.visitor.SQLASTVisitor;

public class DB2AlterSessionStatement extends SQLStatementImpl implements DB2SQLStatement, SQLAlterStatement {
   private SQLExpr sessionId;
   private boolean rollback;
   private boolean transaction;
   private boolean set;
   private boolean priorityTo;
   private SQLExpr priority;
   private boolean add;
   private boolean remove;
   private SQLExpr tagValue;
   private boolean tag;

   public SQLExpr getSessionId() {
      return this.sessionId;
   }

   public void setSessionId(SQLExpr sessionId) {
      this.sessionId = sessionId;
   }

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

   public boolean isRollback() {
      return this.rollback;
   }

   public void setRollback(boolean rollback) {
      this.rollback = rollback;
   }

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

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

   public boolean isSet() {
      return this.set;
   }

   public void setSet(boolean set) {
      this.set = set;
   }

   public boolean isPriorityTo() {
      return this.priorityTo;
   }

   public void setPriorityTo(boolean priorityTo) {
      this.priorityTo = priorityTo;
   }

   public SQLExpr getPriority() {
      return this.priority;
   }

   public void setPriority(SQLExpr priority) {
      this.priority = priority;
   }

   public boolean isAdd() {
      return this.add;
   }

   public void setAdd(boolean add) {
      this.add = add;
   }

   public boolean isRemove() {
      return this.remove;
   }

   public void setRemove(boolean remove) {
      this.remove = remove;
   }

   public SQLExpr getTagValue() {
      return this.tagValue;
   }

   public void setTagValue(SQLExpr tagValue) {
      this.tagValue = tagValue;
   }

   public boolean isTag() {
      return this.tag;
   }

   public void setTag(boolean tag) {
      this.tag = tag;
   }

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

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

      visitor.endVisit(this);
   }
}
