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 }