001/**
002 *
003 * Copyright (c) 2014, the Railo Company Ltd. All rights reserved.
004 *
005 * This library is free software; you can redistribute it and/or
006 * modify it under the terms of the GNU Lesser General Public
007 * License as published by the Free Software Foundation; either 
008 * version 2.1 of the License, or (at your option) any later version.
009 * 
010 * This library is distributed in the hope that it will be useful,
011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
013 * Lesser General Public License for more details.
014 * 
015 * You should have received a copy of the GNU Lesser General Public 
016 * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
017 * 
018 **/
019
020package lucee.runtime.sql.old;
021
022import java.io.Serializable;
023import java.util.Vector;
024
025// Referenced classes of package Zql:
026//            ZExp
027
028public final class ZGroupBy
029    implements Serializable
030{
031
032    public ZGroupBy(Vector vector)
033    {
034        having_ = null;
035        groupby_ = vector;
036    }
037
038    public void setHaving(ZExp zexp)
039    {
040        having_ = zexp;
041    }
042
043    public Vector getGroupBy()
044    {
045        return groupby_;
046    }
047
048    public ZExp getHaving()
049    {
050        return having_;
051    }
052
053    public String toString()
054    {
055        StringBuffer stringbuffer = new StringBuffer("group by ");
056        stringbuffer.append(groupby_.elementAt(0).toString());
057        for(int i = 1; i < groupby_.size(); i++)
058            stringbuffer.append(", " + groupby_.elementAt(i).toString());
059
060        if(having_ != null)
061            stringbuffer.append(" having " + having_.toString());
062        return stringbuffer.toString();
063    }
064
065    Vector groupby_;
066    ZExp having_;
067}