package com.chenyang.druid.sql.dialect.mysql.ast.statement;

import com.chenyang.druid.sql.ast.SQLExpr;
import com.chenyang.druid.sql.ast.SQLName;
import com.chenyang.druid.sql.ast.statement.SQLAlterStatement;
import com.chenyang.druid.sql.dialect.mysql.visitor.MySqlASTVisitor;

public class MySqlAlterLogFileGroupStatement extends MySqlStatementImpl implements SQLAlterStatement {
   private SQLName name;
   private SQLExpr addUndoFile;
   private SQLExpr initialSize;
   private boolean wait;
   private SQLExpr engine;

   public void accept0(MySqlASTVisitor visitor) {
      if (visitor.visit(this)) {
         this.acceptChild(visitor, this.name);
         this.acceptChild(visitor, this.addUndoFile);
         this.acceptChild(visitor, this.initialSize);
         this.acceptChild(visitor, this.engine);
      }

      visitor.endVisit(this);
   }

   public SQLName getName() {
      return this.name;
   }

   public void setName(SQLName name) {
      if (name != null) {
         name.setParent(this);
      }

      this.name = name;
   }

   public SQLExpr getAddUndoFile() {
      return this.addUndoFile;
   }

   public void setAddUndoFile(SQLExpr x) {
      if (x != null) {
         x.setParent(this);
      }

      this.addUndoFile = x;
   }

   public SQLExpr getInitialSize() {
      return this.initialSize;
   }

   public void setInitialSize(SQLExpr x) {
      if (x != null) {
         x.setParent(this);
      }

      this.initialSize = x;
   }

   public boolean isWait() {
      return this.wait;
   }

   public void setWait(boolean wait) {
      this.wait = wait;
   }

   public SQLExpr getEngine() {
      return this.engine;
   }

   public void setEngine(SQLExpr engine) {
      if (engine != null) {
         engine.setParent(this);
      }

      this.engine = engine;
   }
}
