KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > sql99 > dcl > sqlcontrolstatement > ForLoopVariableValues


1 package com.daffodilwoods.daffodildb.server.sql99.dcl.sqlcontrolstatement;
2
3 import com.daffodilwoods.daffodildb.server.serversystem.*;
4 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator.*;
5 import com.daffodilwoods.daffodildb.server.sql99.utils.*;
6 import com.daffodilwoods.daffodildb.utils.field.*;
7 import com.daffodilwoods.database.resource.*;
8
9 public class ForLoopVariableValues implements _VariableValues {
10    private _Iterator iter;
11    private _Reference[] forAliasRefernces;
12    private _VariableValues variableValues;
13
14    public ForLoopVariableValues(_Iterator iter0, _Reference[] forAliasRefernces0, _VariableValues variableValues0) {
15       iter = iter0;
16       forAliasRefernces = forAliasRefernces0;
17       variableValues = variableValues0;
18    }
19
20    /**
21     * getColumnValues
22     * @param reference _Reference[]
23     * @return Object
24     */

25    public Object JavaDoc getColumnValues(_Reference[] reference) throws DException {
26       Object JavaDoc[] obj = new Object JavaDoc[reference.length];
27       for (int i = 0; i < reference.length; i++) {
28          obj[i] = getColumnValues(reference[i]);
29       }
30       return obj;
31    }
32
33    /**
34     * getColumnValues
35     * @param reference _Reference
36     * @return Object
37     */

38    public Object JavaDoc getColumnValues(_Reference reference) throws DException {
39       for (int i = 0; i < forAliasRefernces.length; i++) {
40          if (forAliasRefernces[i] == reference)
41             return iter.getColumnValues(forAliasRefernces[i]);
42       }
43       return variableValues.getColumnValues(reference);
44    }
45
46    /**
47     * field
48     * @param reference _Reference
49     * @return FieldBase
50     */

51    public FieldBase field(_Reference reference) throws DException {
52       for (int i = 0; i < forAliasRefernces.length; i++) {
53          if (forAliasRefernces[i] == reference)
54             return iter.field(forAliasRefernces[i]);
55       }
56       return variableValues.field(reference);
57    }
58
59    /**
60     * setConditionVariableValue
61     * @param references _Reference[]
62     * @param values Object[]
63     * @param priority int
64     */

65    public void setConditionVariableValue(_Reference[] references, Object JavaDoc[] values, int priority) throws DException {
66       variableValues.setConditionVariableValue(references, values, priority);
67    }
68
69    /**
70     * addReferences
71     * @param reference _Reference[]
72     */

73    public void addReferences(_Reference[] reference) throws DException {
74       variableValues.addReferences(reference);
75    }
76
77    /**
78     * getReferenceAndValuePair
79     * @return Object[][]
80     */

81    public Object JavaDoc[][] getReferenceAndValuePair() throws DException {
82       Object JavaDoc[][] obj = variableValues.getReferenceAndValuePair();
83       Object JavaDoc[][] temp = new Object JavaDoc[obj.length + forAliasRefernces.length][2];
84       for (int i = 0; i < obj.length; i++) {
85          temp[i][0] = obj[i][0];
86          temp[i][1] = obj[i][1];
87       }
88       for (int i = obj.length, j = 0; j < forAliasRefernces.length; j++, i++) {
89          temp[i][0] = forAliasRefernces[j];
90          try {
91             temp[i][1] = getColumnValues(forAliasRefernces[j]);
92          } catch (DException ex) {
93             if (ex.getDseCode().equalsIgnoreCase("DSE2019"))
94                return obj;
95             else throw ex;
96          }
97       }
98       return temp;
99    }
100
101    /**
102     * getServerSession
103     * @return _ServerSession
104     */

105    public _ServerSession getServerSession() throws DException {
106       return variableValues.getServerSession();
107    }
108
109    /**
110     * releaseResource
111     */

112    public void releaseResource() throws DException {
113       variableValues.releaseResource();
114    }
115
116    /**
117     * setIterator
118     * @param iterator _Iterator
119     */

120    public void setIterator(_Iterator iterator) throws DException {
121       variableValues.setIterator(iterator);
122    }
123 }
124
Popular Tags