KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > sql99 > utils > SubQueryVariableValues


1 package com.daffodilwoods.daffodildb.server.sql99.utils;
2
3 import com.daffodilwoods.daffodildb.server.serversystem.*;
4 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator.*;
5 import com.daffodilwoods.daffodildb.utils.field.*;
6 import com.daffodilwoods.database.resource.*;
7
8 public class SubQueryVariableValues extends VariableValues implements _VariableValues {
9
10    Object JavaDoc[][] subQueryIteratorMapping;
11
12    public SubQueryVariableValues(_Reference[] references, Object JavaDoc[][] subQueryIteratorMapping0, _ServerSession serverSession) {
13       super(references, serverSession);
14       subQueryIteratorMapping = subQueryIteratorMapping0;
15    }
16
17    public Object JavaDoc getColumnValues(_Reference reference) throws DException {
18       for (int j = 0, length = subQueryIteratorMapping.length; j < length; j++) {
19          if (reference.equals(subQueryIteratorMapping[j][0])) {
20             return subQueryIteratorMapping[j][1];
21          }
22       }
23       return super.getColumnValues(reference);
24    }
25
26    public Object JavaDoc getColumnValues(_Reference[] references) throws DException {
27       int length = references.length;
28       Object JavaDoc[] returningValues = new Object JavaDoc[length];
29       for (int i = 0; i < length; i++) {
30          returningValues[i] = getColumnValues(references[i]);
31       }
32       return returningValues;
33    }
34
35    public FieldBase field(_Reference reference) throws com.daffodilwoods.database.resource.DException {
36       return (FieldBase) getColumnValues(reference);
37    }
38
39    public void setConditionVariableValue(_Reference[] references, Object JavaDoc[] values, int priority) throws DException {
40       super.setConditionVariableValue(references, values, priority);
41       int length = subQueryIteratorMapping.length;
42       for (int i = 0; i < length; i++) {
43          ( (_Iterator) subQueryIteratorMapping[i][1]).setConditionVariableValue(references, values, priority);
44       }
45    }
46
47    public String JavaDoc toString() {
48       String JavaDoc str = " SUBQUERYVARIABLEVALUES ";
49       if (mapping != null && mapping.length != 0) {
50          str += "\nMAPPING";
51          for (int i = 0; i < mapping.length; i++) {
52             str += "[" + mapping[i][0] + " , "; //+ (mapping[i][1] instanceof Object[] ? P.print(mapping[i][1]) : mapping[i][1] ) + " -- " + (mapping[i][2] instanceof Object[] ? P.print(mapping[i][2]) : mapping[i][2] ) + " -- " + mapping[i][0].hashCode() + "]";
53
}
54       }
55       if (underlyingReferenceMapping != null && underlyingReferenceMapping.length != 0) {
56          str += "\nUNDERLYINGREFERENCEMAPPING";
57          for (int i = 0; i < underlyingReferenceMapping.length; i++) {
58             str += "[" + underlyingReferenceMapping[i][0] + "]" + " , "; // + (underlyingReferenceMapping[i][1] instanceof Object[] ? P.print(underlyingReferenceMapping[i][1]) : underlyingReferenceMapping[i][1] ) + " -- " + underlyingReferenceMapping[i][0].hashCode() + "]";
59
}
60       }
61       if (subQueryIteratorMapping != null && subQueryIteratorMapping.length != 0) {
62          str += "\nSUBQUERYITERATORMAPPING";
63          for (int i = 0; i < subQueryIteratorMapping.length; i++) {
64             str += "[" + subQueryIteratorMapping[i][0] + "]" + " , "; //+ (subQueryIteratorMapping[i][1] instanceof Object[] ? P.print(subQueryIteratorMapping[i][1]) : subQueryIteratorMapping[i][1] ) + " -- " + subQueryIteratorMapping[i][0].hashCode() + "]";
65
}
66       }
67       return str;
68    }
69
70    public void releaseResource() throws DException {
71       super.releaseResource();
72       if (subQueryIteratorMapping != null && subQueryIteratorMapping.length != 0) {
73          for (int i = 0; i < subQueryIteratorMapping.length; i++) {
74             ((_Iterator) subQueryIteratorMapping[i][1]).releaseResource();
75          }
76       }
77    }
78
79 }
80
Popular Tags