package com.jthink.skyeye.base.sql; import com.jthink.skyeye.base.constant.Constants; import java.io.Serializable; /** * JThink@JThink * * @author JThink * @version 0.0.1 * @desc select投影的列 * @date 2016-11-29 21:10:31 */ public class SelectColumn implements Serializable { private static final long serialVersionUID = 1L; // 表名 private String table; // 列名 private String column; // 去重 private boolean distinct; // 加在列上的函数 private Func func; // 别名 private String alias; public SelectColumn() { } public SelectColumn(String column) { this.column = column; } public SelectColumn(String table, String column) { this.table = table; this.column = column; } @Override public String toString() { String str = this.column; if (this.table != null) { str = this.table + Constants.POINT + this.column; } if (this.distinct) { str = "DISTINCT " + str; } if (this.func != null) { if (Func.COLLECT.equals(this.func)) { str = "CONCAT_WS(',', COLLECT_SET(" + str + "))"; } else { str = func.name() + "(" + str + ")"; } } if (this.alias != null) { str += " AS " + this.alias; } return str; } public String getColumn() { return column; } public void setColumn(String column) { this.column = column; } public boolean isDistinct() { return distinct; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public Func getFunc() { return func; } public void setFunc(Func func) { this.func = func; } public String getTable() { return table; } public void setTable(String table) { this.table = table; } public String getAlias() { return alias; } public void setAlias(String alias) { this.alias = alias; } }