package com.alibaba.druid.sql.dialect.mariadb.ast.statement;

import com.alibaba.druid.sql.ast.SQLExpr;
import com.alibaba.druid.sql.ast.SQLName;
import com.alibaba.druid.sql.ast.statement.SQLAlterStatement;
import com.alibaba.druid.sql.dialect.mariadb.visitor.MariadbASTVisitor;

public class MariadbAlterTablespaceStatement extends MariadbStatementImpl implements SQLAlterStatement {
   private SQLName name;
   private SQLExpr addDataFile;
   private SQLExpr dropDataFile;
   private SQLExpr initialSize;
   private boolean wait;
   private SQLExpr engine;

   public void accept0(MariadbASTVisitor visitor) {
      if (visitor.visit(this)) {
         this.acceptChild(visitor, this.name);
         this.acceptChild(visitor, this.addDataFile);
         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 getAddDataFile() {
      return this.addDataFile;
   }

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

      this.addDataFile = this.addDataFile;
   }

   public SQLExpr getDropDataFile() {
      return this.dropDataFile;
   }

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

      this.dropDataFile = this.dropDataFile;
   }

   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;
   }
}
