KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > xquark > extractor > algebra > UnOpAggregate


1 /*
2  * This file belongs to the XQuark distribution.
3  * Copyright (C) 2003 Universite de Versailles Saint-Quentin.
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307.
18  * You can also get it at http://www.gnu.org/licenses/lgpl.html
19  *
20  * For more information on this software, see http://www.xquark.org.
21  */

22
23 package org.xquark.extractor.algebra;
24
25 import java.util.List JavaDoc;
26
27 import org.xquark.extractor.common.SqlWrapperException;
28 import org.xquark.extractor.runtime.IDProvider;
29 import org.xquark.extractor.sql.SqlExpression;
30
31 public final class UnOpAggregate extends UnOpProject
32 {
33
34     private static final String JavaDoc RCSRevision = "$Revision: 1.7 $";
35     private static final String JavaDoc RCSName = "$Name: $";
36
37
38     public UnOpAggregate(IDProvider attIdProvider) {
39         super(attIdProvider);
40     }
41
42     public UnOpAggregate(Expression operand, Expression item, IDProvider attIdProvider) {
43         super(operand, item, attIdProvider);
44     }
45
46     public UnOpAggregate(Expression operand, List JavaDoc itemList, boolean distinct, IDProvider attIdProvider) {
47         super(operand, itemList, distinct, attIdProvider);
48     }
49
50     public SqlExpression accept (GenSqlVisitor visitor) throws SqlWrapperException
51     {
52         return visitor.visit(this);
53     }
54
55     public boolean equals(Object JavaDoc obj) {
56         if (null == obj)
57             return false;
58
59         if (obj instanceof UnOpAggregate)
60             return true;
61         else
62             return false;
63     }
64
65     public void accept (AlgebraVisitor visitor) throws SqlWrapperException
66     {
67         visitor.visit(this);
68     }
69
70     void distinctAggregation() {
71         List JavaDoc itemList = getItemList();
72         Expression item = null;
73         for (int i = 0; i < itemList.size(); i++) {
74             item = (Expression)itemList.get(i);
75             item.accept( new DefaultSimpleVisitor() {
76                     public void visit(FunAggregate arg)
77                     { arg.setDistinct(true); }
78                     }
79                 );
80         }
81     }
82 }
83
Popular Tags