package bean;

import com.alibaba.druid.sql.ast.SQLExpr;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class Column implements Serializable {
   private String columnName;
   private String rawName;
   private String value;
   private String columnAlisa;
   private boolean isSubQuery;
   private String subAlisa;
   private String nowName;
   private String schema;
   private String table;
   private String dataType;
   private String columnType;
   private String length;
   private String digits;
   private String remark;
   private boolean isMethod;
   private String fullName;
   private Set<Integer> fieldIds = new HashSet();
   private String dbname;
   private int pk;
   private SQLExpr expr;
   public int seq;
   public List<Column> columns = new ArrayList();

   public Set<Integer> getFieldIds() {
      return this.fieldIds;
   }

   public void setFieldIds(Set<Integer> fieldIds) {
      this.fieldIds = fieldIds;
   }

   public Column(String columnName, String columnAlisa, boolean isSubQuery, String subAlisa) {
      this.columnName = columnName;
      this.rawName = columnName;
      this.columnAlisa = columnAlisa;
      this.isSubQuery = isSubQuery;
      this.subAlisa = subAlisa;
   }

   public Column() {
   }

   public Column(boolean isMethod, SQLExpr expr) {
      this.isMethod = isMethod;
      this.expr = expr;
   }

   public Column(String columnName, String schema, String table, String dataType) {
      this.columnName = columnName;
      this.rawName = columnName;
      this.schema = schema;
      this.table = table;
      this.dataType = dataType;
   }

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

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

   public String getColumnName() {
      return this.columnName;
   }

   public void setColumnName(String columnName) {
      this.columnName = columnName;
      if (this.rawName == null) {
         this.rawName = columnName;
      }

   }

   public boolean isSubQuery() {
      return this.isSubQuery;
   }

   public void setSubQuery(boolean subQuery) {
      this.isSubQuery = subQuery;
   }

   public String getColumnAlisa() {
      return this.columnAlisa;
   }

   public void setColumnAlisa(String columnAlisa) {
      this.columnAlisa = columnAlisa;
   }

   public String getSubAlisa() {
      return this.subAlisa;
   }

   public void setSubAlisa(String subAlisa) {
      this.subAlisa = subAlisa;
   }

   public String getValue() {
      return this.value;
   }

   public void setValue(String value) {
      this.value = value;
   }

   public String getSchema() {
      return this.schema;
   }

   public void setSchema(String schema) {
      this.schema = schema;
   }

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

   public void setTable(String table) {
      this.table = table;
   }

   public boolean isMethod() {
      return this.isMethod;
   }

   public void setMethod(boolean method) {
      this.isMethod = method;
   }

   public SQLExpr getExpr() {
      return this.expr;
   }

   public void setExpr(SQLExpr expr) {
      this.expr = expr;
   }

   public String getNowName() {
      return this.nowName;
   }

   public void setNowName(String nowName) {
      this.nowName = nowName;
   }

   public String getFullName() {
      return this.fullName;
   }

   public void setFullName(String fullName) {
      this.fullName = fullName;
   }

   public String getRawName() {
      return this.rawName;
   }

   public void setRawName(String rawName) {
      this.rawName = rawName;
   }

   public String getLength() {
      return this.length;
   }

   public void setLength(String length) {
      this.length = length;
   }

   public String getRemark() {
      return this.remark;
   }

   public void setRemark(String remark) {
      this.remark = remark;
   }

   public String getColumnType() {
      return this.columnType;
   }

   public void setColumnType(String columnType) {
      this.columnType = columnType;
   }

   public String getDigits() {
      return this.digits;
   }

   public void setDigits(String digits) {
      this.digits = digits;
   }

   public int getPk() {
      return this.pk;
   }

   public void setPk(int pk) {
      this.pk = pk;
   }

   public int getSeq() {
      return this.seq;
   }

   public void setSeq(int seq) {
      this.seq = seq;
   }

   public String getDbname() {
      return this.dbname;
   }

   public void setDbname(String dbname) {
      this.dbname = dbname;
   }
}
