001package gudusoft.gsqlparser.nodes;
002
003import gudusoft.gsqlparser.ESqlClause;
004import gudusoft.gsqlparser.TCustomSqlStatement;
005
006/**
007 * Item in grouping expression list.
008 * It can be an expression or an expression list.
009 *
010 * @deprecated As of v1.4.3.3, replaced by {@link TExpression}
011*/
012
013public class TGroupingExpressionItem extends TParseTreeNode {
014    private TExpression expr;
015    private TExpressionList exprList;
016
017    public void init(Object arg1)
018    {
019      if (arg1 instanceof TExpression){
020          expr = (TExpression)arg1;
021      }else if (arg1 instanceof TExpressionList){
022          exprList = (TExpressionList)arg1;
023      }
024    }
025
026    public void doParse(TCustomSqlStatement psql, ESqlClause plocation){
027        if (expr != null){
028            expr.doParse(psql,plocation);
029        }else
030        if (exprList != null){
031            exprList.doParse(psql,plocation);
032        }
033    }
034
035    public TExpression getExpr() {
036        return expr;
037    }
038
039    public TExpressionList getExprList() {
040        return exprList;
041    }
042
043    public void accept(TParseTreeVisitor v){
044        v.preVisit(this);
045        v.postVisit(this);
046    }
047
048    public void acceptChildren(TParseTreeVisitor v){
049        v.preVisit(this);
050        v.postVisit(this);
051    }
052
053}