KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > sql99 > dql > tableexpression > groupbyclause > concatenatedgrouping


1 package com.daffodilwoods.daffodildb.server.sql99.dql.tableexpression.groupbyclause;
2
3 import java.util.*;
4 import com.daffodilwoods.daffodildb.server.sql99.common.*;
5 import com.daffodilwoods.daffodildb.server.sql99.token.*;
6 import com.daffodilwoods.daffodildb.server.sql99.utils.*;
7 import com.daffodilwoods.database.resource.*;
8 /**
9  * This class represents concatenatedgrouping which can be a combination of two
10  * grouping set sperated by comma.first grouping set is either single column reference
11  * or parenthesized columnreferencelist. and second will be groupingsetlist
12  * <p>Title: </p>
13  * <p>Description: </p>
14  * <p>Copyright: Copyright (c) 2004</p>
15  * <p>Company: </p>
16  * @author not attributable
17  * @version 1.0
18  */

19 public class concatenatedgrouping implements com.daffodilwoods.daffodildb.utils.parser.StatementExecuter, groupingspecification, TypeConstants {
20   /**
21    * It represents list of groupingset.
22    */

23   public groupingsetlist _groupingsetlist0;
24    /**
25     * It represents keyword comma ','
26     */

27    public Scomma94843605 _Scomma948436051;
28    /**
29     * It represents groupingset
30     */

31    public groupingset _groupingset2;
32    /**
33     * It represents list of column details involved in concatenatedgrouping.
34     */

35    private ColumnDetails[] result;
36
37    /**
38     * Note:-For documenatation of following method refers to queryexpressionbody.
39     * @param object
40     * @return
41     * @throws com.daffodilwoods.database.resource.DException
42     */

43    public Object JavaDoc run(Object JavaDoc object) throws com.daffodilwoods.database.resource.DException {
44 /*
45       Object[] object1 = (Object[]) _groupingset2.run(object);
46       Object[] object2 = (Object[]) _groupingsetlist0.run(object);
47       int length = object2.length;
48       Object[] result = new Object[length + 1];
49       result[0] = object1[0];
50       System.arraycopy(object2, 0, result, 1, length);
51        }
52 */

53 Object JavaDoc object1 = _groupingset2.run(object);
54 Object JavaDoc[] object2 = (Object JavaDoc[]) _groupingsetlist0.run(object);
55 int length = object2.length;
56 Object JavaDoc[] result = new Object JavaDoc[length + 1];
57 result[0] = object1 instanceof Object JavaDoc[] ? ((Object JavaDoc[])object1)[0] : object1;
58 System.arraycopy(object2, 0, result, 1, length);
59
60       return result;
61    }
62
63    public ColumnDetails[] getColumnDetails() throws DException {
64       ColumnDetails[] columnDetails1 = _groupingset2.getColumnDetails();
65       ColumnDetails[] columnDetails2 = _groupingsetlist0.getColumnDetails();
66       result = new ColumnDetails[columnDetails1.length + columnDetails2.length];
67       int i = 0;
68       for (; i < columnDetails1.length; i++) {
69          result[i] = columnDetails1[i];
70       }
71       for (int j = 0; j < columnDetails2.length; j++, i++) {
72          result[i] = columnDetails2[j];
73       }
74       return result;
75    }
76
77    public void getColumnsIncluded(ArrayList aList) throws DException {
78       _groupingset2.getColumnsIncluded(aList);
79       _groupingsetlist0.getColumnsIncluded(aList);
80    }
81
82    public void getTablesIncluded(ArrayList aList) throws DException {
83
84    }
85
86    public String JavaDoc toString() {
87       StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
88       sb.append(" ");
89       sb.append(_groupingset2);
90       sb.append(" ");
91       sb.append(_Scomma948436051);
92       sb.append(" ");
93       sb.append(_groupingsetlist0);
94       return sb.toString();
95    }
96
97    public Object JavaDoc clone() throws CloneNotSupportedException JavaDoc {
98       concatenatedgrouping tempClass = new concatenatedgrouping();
99       tempClass._groupingsetlist0 = (groupingsetlist) _groupingsetlist0.clone();
100       tempClass._Scomma948436051 = (Scomma94843605) _Scomma948436051.clone();
101       tempClass._groupingset2 = (groupingset) _groupingset2.clone();
102       return tempClass;
103    }
104
105    public _Reference[] getReferences(TableDetails[] tableDetails) throws DException {
106       _Reference[] ref1 = _groupingset2.getReferences(tableDetails);
107       _Reference[] ref2 = _groupingsetlist0.getReferences(tableDetails);
108       return GeneralPurposeStaticClass.getJointReferences(ref1, ref2);
109    }
110
111 }
112
Popular Tags