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

import com.chenyang.druid.sql.ast.SQLDataType;
import com.chenyang.druid.sql.ast.SQLExpr;
import com.chenyang.druid.sql.ast.SQLName;
import com.chenyang.druid.sql.ast.SQLStatementImpl;
import com.chenyang.druid.sql.visitor.SQLASTVisitor;

public class SQLCreateDomainStatement extends SQLStatementImpl implements SQLCreateStatement {
   protected SQLName name;
   protected SQLDataType dataType;
   protected SQLExpr defaultExpr;
   protected SQLExpr checkExpr;
   protected SQLName constraintName;

   public SQLName getName() {
      return this.name;
   }

   public void setName(SQLName name) {
      this.name = name;
   }

   public SQLDataType getDataType() {
      return this.dataType;
   }

   public void setDataType(SQLDataType dataType) {
      this.dataType = dataType;
   }

   public SQLExpr getDefaultExpr() {
      return this.defaultExpr;
   }

   public void setDefaultExpr(SQLExpr defaultExpr) {
      this.defaultExpr = defaultExpr;
   }

   public SQLExpr getCheckExpr() {
      return this.checkExpr;
   }

   public void setCheckExpr(SQLExpr checkExpr) {
      this.checkExpr = checkExpr;
   }

   public SQLName getConstraintName() {
      return this.constraintName;
   }

   public void setConstraintName(SQLName constraintName) {
      this.constraintName = constraintName;
   }

   protected void accept0(SQLASTVisitor visitor) {
      if (visitor.visit(this)) {
      }

      visitor.endVisit(this);
   }
}
