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

import com.chenyang.druid.sql.ast.SQLObjectImpl;
import com.chenyang.druid.sql.visitor.SQLASTVisitor;

public class SQLTableLike extends SQLObjectImpl implements SQLTableElement {
   private SQLExprTableSource table;
   private boolean includeProperties = false;
   private boolean excludeProperties = false;

   protected void accept0(SQLASTVisitor v) {
      if (v.visit(this)) {
         this.acceptChild(v, this.table);
      }

      v.endVisit(this);
   }

   public SQLTableLike clone() {
      SQLTableLike x = new SQLTableLike();
      if (this.table != null) {
         x.setTable(this.table.clone());
      }

      return x;
   }

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

   public void setTable(SQLExprTableSource x) {
      if (x != null) {
         x.setParent(this);
      }

      this.table = x;
   }

   public boolean isIncludeProperties() {
      return this.includeProperties;
   }

   public void setIncludeProperties(boolean includeProperties) {
      this.includeProperties = includeProperties;
   }

   public boolean isExcludeProperties() {
      return this.excludeProperties;
   }

   public void setExcludeProperties(boolean excludeProperties) {
      this.excludeProperties = excludeProperties;
   }
}
