001    package railo.runtime.sql.old;
002    
003    import java.io.Serializable;
004    import java.util.StringTokenizer;
005    
006    public class ZAliasedName
007        implements Serializable
008    {
009    
010        public ZAliasedName()
011        {
012            strform_ = "";
013            schema_ = null;
014            table_ = null;
015            column_ = null;
016            alias_ = null;
017            form_ = FORM_COLUMN;
018        }
019    
020        public ZAliasedName(String s, int i)
021        {
022            strform_ = "";
023            schema_ = null;
024            table_ = null;
025            column_ = null;
026            alias_ = null;
027            form_ = FORM_COLUMN;
028            form_ = i;
029            strform_ = new String(s);
030            StringTokenizer stringtokenizer = new StringTokenizer(s, ".");
031            switch(stringtokenizer.countTokens())
032            {
033            case 1: // '\001'
034                if(i == FORM_TABLE)
035                    table_ = new String(stringtokenizer.nextToken());
036                else
037                    column_ = new String(stringtokenizer.nextToken());
038                break;
039    
040            case 2: // '\002'
041                if(i == FORM_TABLE)
042                {
043                    schema_ = new String(stringtokenizer.nextToken());
044                    table_ = new String(stringtokenizer.nextToken());
045                } else
046                {
047                    table_ = new String(stringtokenizer.nextToken());
048                    column_ = new String(stringtokenizer.nextToken());
049                }
050                break;
051    
052            case 3: // '\003'
053            default:
054                schema_ = new String(stringtokenizer.nextToken());
055                table_ = new String(stringtokenizer.nextToken());
056                column_ = new String(stringtokenizer.nextToken());
057                break;
058            }
059        }
060    
061        public String toString()
062        {
063            if(alias_ == null)
064                return strform_;
065            return strform_ + " " + alias_;
066        }
067    
068        public String getSchema()
069        {
070            return schema_;
071        }
072    
073        public String getTable()
074        {
075            return table_;
076        }
077    
078        public String getColumn()
079        {
080            return column_;
081        }
082    
083        public boolean isWildcard()
084        {
085            if(form_ == FORM_TABLE)
086                return table_ != null && table_.equals("*");
087            return column_ != null && column_.indexOf('*') >= 0;
088        }
089    
090        public String getAlias()
091        {
092            return alias_;
093        }
094    
095        public void setAlias(String s)
096        {
097            alias_ = new String(s);
098        }
099        
100    
101        String strform_;
102        String schema_;
103        String table_;
104        String column_;
105        String alias_;
106        public static int FORM_TABLE = 1;
107        public static int FORM_COLUMN = 2;
108        int form_;
109    
110    }