package com.primeton.dsp.datarelease.api.model; import net.sf.jsqlparser.expression.Alias; import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.expression.ExpressionVisitor; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; import net.sf.jsqlparser.schema.Column; /** *
 *
 * Created by zhenqin.
 * User: zhenqin
 * Date: 2020/4/28
 * Time: 17:48
 * Vendor: yiidata.com
 * To change this template use File | Settings | File Templates.
 *
 * 
* * @author zhenqin */ public class SelectField extends ASTNodeAccessImpl implements Expression { /** * 查询的字段,Column 是 final 无法继承造成的 */ private Column column; /** * 查询的字段别名 */ private Alias alias; public SelectField(Expression expression) { this((Column)expression); } public SelectField(Column expression) { this.column = expression; } public SelectField(Column expression, Alias alias) { this.column = expression; this.alias = alias; } public Column getExpression() { return column; } public Alias getAlias() { return alias; } public void setAlias(Alias alias) { this.alias = alias; } @Override public void accept(ExpressionVisitor expressionVisitor) { expressionVisitor.visit(column); } @Override public String toString() { return column + ((alias != null) ? alias.toString() : ""); } }