package com.alibaba.druid.sql.dialect.es.ast;

import com.alibaba.druid.DbType;
import com.alibaba.druid.sql.ast.SQLCommentHint;
import com.alibaba.druid.sql.ast.SQLObject;
import com.alibaba.druid.sql.ast.SQLStatement;
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
import com.alibaba.druid.sql.visitor.VisitorFeature;
import java.util.List;
import java.util.Map;
import util.sqlparse.visitor.es.visitor.ElasticSchemaVisitor;

public class ElasticStatement implements SQLStatement {
   private String body;

   public String getBody() {
      return this.body;
   }

   public void setBody(String body) {
      this.body = body;
   }

   public ElasticStatement(String body) {
      this.body = body;
   }

   public void accept(SQLASTVisitor visitor) {
      if (visitor.getClass() == ElasticSchemaVisitor.class) {
         ElasticSchemaVisitor esVisitor = (ElasticSchemaVisitor)visitor;
         esVisitor.parse(this.body);
      }
   }

   public SQLObject getParent() {
      return null;
   }

   public void setParent(SQLObject parent) {
   }

   public Map<String, Object> getAttributes() {
      return null;
   }

   public boolean containsAttribute(String name) {
      return false;
   }

   public Object getAttribute(String name) {
      return null;
   }

   public void putAttribute(String name, Object value) {
   }

   public Map<String, Object> getAttributesDirect() {
      return null;
   }

   public void output(StringBuffer buf) {
   }

   public void output(Appendable buf) {
   }

   public void addBeforeComment(String comment) {
   }

   public void addBeforeComment(List<String> comments) {
   }

   public List<String> getBeforeCommentsDirect() {
      return null;
   }

   public void addAfterComment(String comment) {
   }

   public void addAfterComment(List<String> comments) {
   }

   public List<String> getAfterCommentsDirect() {
      return null;
   }

   public boolean hasBeforeComment() {
      return false;
   }

   public boolean hasAfterComment() {
      return false;
   }

   public DbType getDbType() {
      return null;
   }

   public boolean isAfterSemi() {
      return false;
   }

   public void setAfterSemi(boolean afterSemi) {
   }

   public SQLStatement clone() {
      return null;
   }

   public List<SQLObject> getChildren() {
      return null;
   }

   public List<SQLCommentHint> getHeadHintsDirect() {
      return null;
   }

   public void setHeadHints(List<SQLCommentHint> headHints) {
   }

   public String toString(VisitorFeature... features) {
      return null;
   }

   public String toLowerCaseString() {
      return null;
   }

   public String toParameterizedString() {
      return null;
   }
}
