001    package railo.runtime.sql.old;
002    
003    
004    // Referenced classes of package Zql:
005    //            ZAliasedName, ZConstant, ZUtils, ZExp
006    
007    public final class ZSelectItem extends ZAliasedName
008    {
009    
010        public ZSelectItem()
011        {
012            expression_ = null;
013            aggregate_ = null;
014        }
015    
016        public ZSelectItem(String s)
017        {
018            super(s, ZAliasedName.FORM_COLUMN);
019            expression_ = null;
020            aggregate_ = null;
021            setAggregate(ZUtils.getAggregateCall(s));
022        }
023    
024        public ZExp getExpression()
025        {
026            if(isExpression())
027                return expression_;
028            if(isWildcard())
029                return null;
030            return new ZConstant(getColumn(), 0);
031        }
032    
033        public void setExpression(ZExp zexp)
034        {
035            expression_ = zexp;
036            strform_ = expression_.toString();
037        }
038    
039        public boolean isExpression()
040        {
041            return expression_ != null;
042        }
043    
044        public void setAggregate(String s)
045        {
046            aggregate_ = s;
047        }
048    
049        public String getAggregate()
050        {
051            return aggregate_;
052        }
053    
054        ZExp expression_;
055        String aggregate_;
056    }