001package gudusoft.gsqlparser.nodes; 002 003import gudusoft.gsqlparser.TSourceToken; 004 005public class TObjectReference extends TParseTreeNode { 006 007 public TObjectName objectname; 008 009 public void setObjectType(int objectType) { 010 objectname.setObjectType(objectType); 011 switch(this.objectname.getObjectType()){ 012 case TObjectName.ttobjTable:{ 013 if (objectname != null){ 014 //objectname.parseTablename(); 015 } 016 break; 017 } 018 default:{ 019 break; 020 } 021 } 022 023 } 024 025 public int getObjectType() { 026 return objectname.getObjectType(); 027 } 028 029 /** 030 * where this db object was used in query. 031 * can be referenced in multiplace such as select clause, where clause and etc. 032 */ 033 034 private int location; 035 036 public void init(Object arg1) 037 { 038 if (arg1 instanceof TObjectName){ 039 objectname = (TObjectName)arg1; 040 }else if (arg1 instanceof TSourceToken){ 041 } 042 } 043 044 /** 045 * Are these 2 objects reference points the same object? 046 * @param obj 047 * @return 048 */ 049 public boolean isEqual(TObjectReference obj){ 050 boolean retval = (this.objectname.getObjectType() == obj.getObjectType()); 051 if (!retval) {return retval;} 052 switch(this.objectname.getObjectType()){ 053 case TObjectName.ttobjColumn:{ 054 break; 055 } 056 case TObjectName.ttobjTable:{ 057 break; 058 } 059 default:{ 060 retval = false; 061 break; 062 } 063 } 064 return retval; 065 } 066 067 public void setObjectname(TObjectName objectname) { 068 this.objectname = objectname; 069 } 070 071 public void setLocation(int location) { 072 this.location = location; 073 } 074}