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}