package com.chenyang.druid.sql.dialect.postgresql.ast.stmt;

import com.chenyang.druid.sql.ast.SQLExpr;
import com.chenyang.druid.sql.ast.statement.SQLAlterSequenceStatement;
import com.chenyang.druid.sql.ast.statement.SQLAlterStatement;
import com.chenyang.druid.sql.dialect.postgresql.visitor.PGASTVisitor;
import com.chenyang.druid.sql.visitor.SQLASTVisitor;

public class PGAlterSequenceStatement extends SQLAlterSequenceStatement implements PGSQLStatement, SQLAlterStatement {
   private boolean ifExists;
   private boolean by;
   private boolean start;
   private boolean with;
   private boolean cycleNo;
   private boolean ownedBy;
   private boolean ownerTo;
   private boolean renameTo;
   private boolean setSchema;
   private SQLExpr newOwner;
   private SQLExpr newName;
   private SQLExpr newSchema;
   private boolean none;
   private SQLExpr table;
   private SQLExpr column;
   private SQLExpr ownedByName;

   public SQLExpr getOwnedByName() {
      return this.ownedByName;
   }

   public void setOwnedByName(SQLExpr ownedByName) {
      this.ownedByName = ownedByName;
   }

   public boolean isIfExists() {
      return this.ifExists;
   }

   public void setIfExists(boolean ifExists) {
      this.ifExists = ifExists;
   }

   public boolean isBy() {
      return this.by;
   }

   public void setBy(boolean by) {
      this.by = by;
   }

   public boolean isStart() {
      return this.start;
   }

   public void setStart(boolean start) {
      this.start = start;
   }

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

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

   public boolean isCycleNo() {
      return this.cycleNo;
   }

   public void setCycleNo(boolean cycleNo) {
      this.cycleNo = cycleNo;
   }

   public boolean isOwnedBy() {
      return this.ownedBy;
   }

   public void setOwnedBy(boolean ownedBy) {
      this.ownedBy = ownedBy;
   }

   public boolean isOwnerTo() {
      return this.ownerTo;
   }

   public void setOwnerTo(boolean ownerTo) {
      this.ownerTo = ownerTo;
   }

   public boolean isRenameTo() {
      return this.renameTo;
   }

   public void setRenameTo(boolean renameTo) {
      this.renameTo = renameTo;
   }

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

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

   public SQLExpr getNewOwner() {
      return this.newOwner;
   }

   public void setNewOwner(SQLExpr newOwner) {
      this.newOwner = newOwner;
   }

   public SQLExpr getNewName() {
      return this.newName;
   }

   public void setNewName(SQLExpr newName) {
      this.newName = newName;
   }

   public SQLExpr getNewSchema() {
      return this.newSchema;
   }

   public void setNewSchema(SQLExpr newSchema) {
      this.newSchema = newSchema;
   }

   public boolean isNone() {
      return this.none;
   }

   public void setNone(boolean none) {
      this.none = none;
   }

   public SQLExpr getTable() {
      return this.table;
   }

   public void setTable(SQLExpr table) {
      this.table = table;
   }

   public SQLExpr getColumn() {
      return this.column;
   }

   public void setColumn(SQLExpr column) {
      this.column = column;
   }

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

   public void accept0(PGASTVisitor visitor) {
      if (visitor.visit(this)) {
         this.acceptChild(visitor, this.getName());
      }

      visitor.endVisit(this);
   }
}
