001package gudusoft.gsqlparser.nodes; 002/* 003 * Date: 13-3-26 004 */ 005 006import gudusoft.gsqlparser.EDbObjectType; 007import gudusoft.gsqlparser.TSourceToken; 008 009public class TDescribeSqlNode extends TParseTreeNode { 010 011 private TObjectName databaseName; 012 013 public TObjectName getDatabaseName() { 014 return databaseName; 015 } 016 017 private TObjectName tableName; 018 private TObjectName columnName; 019 private TSourceToken descToken; 020 private TObjectName dbObjectName; 021 private EDbObjectType dbObjectType; 022 023 public TObjectName getDbObjectName() { 024 return dbObjectName; 025 } 026 027 public EDbObjectType getDbObjectType() { 028 return dbObjectType; 029 } 030 031 public TObjectName getColumnName() { 032 return columnName; 033 } 034 035 public TSourceToken getDescToken() { 036 return descToken; 037 } 038 039 public TObjectName getTableName() { 040 return tableName; 041 } 042 043// public void init(Object arg1, Object arg2){ 044// 045// descToken = (TSourceToken)arg1; 046// tableName = (TObjectName)arg2; 047// } 048// 049// public void init(Object arg1, Object arg2, Object arg3){ 050// init(arg1,arg2); 051// columnName = (TObjectName)arg3; 052// } 053 054 055 public void setTableName(TObjectName tableName) { 056 this.tableName = tableName; 057 } 058 059 public void setColumnName(TObjectName columnName) { 060 this.columnName = columnName; 061 } 062 063 public void setDescToken(TSourceToken descToken) { 064 this.descToken = descToken; 065 } 066 067 public void init(Object arg1,Object arg2){ 068 dbObjectType = (EDbObjectType)arg1; 069 070 switch (dbObjectType){ 071 case table: 072 dbObjectName = (TObjectName)arg2; 073 tableName = dbObjectName; 074 tableName.setDbObjectType(dbObjectType); 075 break; 076 case column: 077 dbObjectName = (TObjectName)arg2; 078 columnName = dbObjectName; 079 break; 080 case database: 081 dbObjectName = (TObjectName)arg2; 082 databaseName = dbObjectName; 083 break; 084 case query: 085 queryNode = (TSelectSqlNode) arg2; 086 break; 087 default: 088 dbObjectName = (TObjectName)arg2; 089 break; 090 } 091 } 092 093 private TSelectSqlNode queryNode; 094 095 public TSelectSqlNode getQueryNode() { 096 return queryNode; 097 } 098}