001package gudusoft.gsqlparser.sqlenv;
002
003
004import gudusoft.gsqlparser.nodes.TTypeName;
005
006/**
007 * table column
008 */
009public class TSQLColumn extends TSQLObject {
010
011    private TSQLTable sqlTable;
012
013    /**
014     * table include this column
015     * @return table
016     */
017    public TSQLTable getSqlTable() {
018        return sqlTable;
019    }
020
021    /**
022     * create a new column and add to the table
023     *
024     * @param sqlTable table this column belongs to
025     * @param columnName column name
026     */
027    public TSQLColumn(TSQLTable sqlTable,String columnName){
028        super(sqlTable.getSqlEnv(),columnName,ESQLDataObjectType.dotColumn);
029        this.sqlTable = sqlTable;
030    }
031
032    public TSQLColumn(TSQLTable sqlTable, String columnName, TTypeName dataType){
033        super(sqlTable.getSqlEnv(),columnName,ESQLDataObjectType.dotColumn);
034        this.sqlTable = sqlTable;
035        if (dataType != null){
036            this.columnDataType = dataType.clone();
037        }
038    }
039
040    private TTypeName columnDataType;
041
042    public TTypeName getColumnDataType() {
043        return columnDataType;
044    }
045
046
047
048    @Override
049    public String toString(){
050
051        String ret = "Column name: "+ name;
052        if (columnDataType != null){
053            ret = ret +", data type: " + columnDataType.getDataType().toString();
054        }else{
055            ret = ret +", data type: N/A";
056        }
057        return ret;
058    }
059
060}