class Column extends AbstractColumn implements Segment {

    public Column as(String alias) {
        if(this.alias.isPresent()) {
            throw new IllegalStateException("Alias can only be set once for column" + getColumnName());
        }

        this.alias = Optional.of(alias);
        return this;
    }

    public  Column(Table table, String name, JDBCType type);

}