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}