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

import com.chenyang.druid.sql.ast.SQLExpr;
import com.chenyang.druid.sql.ast.SQLName;
import com.chenyang.druid.sql.dialect.postgresql.visitor.PGASTVisitor;

public class PGSQLIndexSpec extends PGSQLObjectImpl {
   private SQLExpr name;
   private SQLExpr collateParam;
   private SQLName opclass;
   private boolean asc;
   private boolean desc;
   private boolean nullsFirst;
   private boolean nullsLast;

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

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

   public SQLExpr getCollateParam() {
      return this.collateParam;
   }

   public void setCollateParam(SQLExpr collateParam) {
      this.collateParam = collateParam;
   }

   public SQLName getOpclass() {
      return this.opclass;
   }

   public void setOpclass(SQLName opclass) {
      this.opclass = opclass;
   }

   public boolean isAsc() {
      return this.asc;
   }

   public void setAsc(boolean asc) {
      this.asc = asc;
   }

   public boolean isDesc() {
      return this.desc;
   }

   public void setDesc(boolean desc) {
      this.desc = desc;
   }

   public boolean isNullsFirst() {
      return this.nullsFirst;
   }

   public void setNullsFirst(boolean nullsFirst) {
      this.nullsFirst = nullsFirst;
   }

   public boolean isNullsLast() {
      return this.nullsLast;
   }

   public void setNullsLast(boolean nullsLast) {
      this.nullsLast = nullsLast;
   }

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