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

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

public class MySqLShowColumnStatement extends MySqlStatementImpl {
   private SQLExprTableSource tableName;
   protected SQLExpr user;
   private SQLExpr extended;
   private SQLExpr full;
   private SQLExpr columnsOrFields;
   private SQLExpr fromOrInTable;
   private SQLExpr fromOrInUser;
   private boolean like;
   private SQLExpr likeNote;
   private boolean where;
   private SQLExpr whereNote;

   public void accept0(MySqlASTVisitor visitor) {
      if (visitor.visit(this)) {
         this.acceptChild(visitor, this.tableName);
      }

      visitor.endVisit(this);
   }

   public SQLExprTableSource getTableName() {
      return this.tableName;
   }

   public void setTableName(SQLExprTableSource tableName) {
      this.tableName = tableName;
   }

   public SQLExpr getUser() {
      return this.user;
   }

   public void setUser(SQLExpr user) {
      this.user = user;
   }

   public SQLExpr getExtended() {
      return this.extended;
   }

   public void setExtended(SQLExpr extended) {
      this.extended = extended;
   }

   public SQLExpr getFull() {
      return this.full;
   }

   public void setFull(SQLExpr full) {
      this.full = full;
   }

   public SQLExpr getColumnsOrFields() {
      return this.columnsOrFields;
   }

   public void setColumnsOrFields(SQLExpr columnsOrFields) {
      this.columnsOrFields = columnsOrFields;
   }

   public SQLExpr getFromOrInTable() {
      return this.fromOrInTable;
   }

   public void setFromOrInTable(SQLExpr fromOrInTable) {
      this.fromOrInTable = fromOrInTable;
   }

   public SQLExpr getFromOrInUser() {
      return this.fromOrInUser;
   }

   public void setFromOrInUser(SQLExpr fromOrInUser) {
      this.fromOrInUser = fromOrInUser;
   }

   public boolean isLike() {
      return this.like;
   }

   public void setLike(boolean like) {
      this.like = like;
   }

   public SQLExpr getLikeNote() {
      return this.likeNote;
   }

   public void setLikeNote(SQLExpr likeNote) {
      this.likeNote = likeNote;
   }

   public boolean isWhere() {
      return this.where;
   }

   public void setWhere(boolean where) {
      this.where = where;
   }

   public SQLExpr getWhereNote() {
      return this.whereNote;
   }

   public void setWhereNote(SQLExpr whereNote) {
      this.whereNote = whereNote;
   }
}
