KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > sql99 > dql > resultsetmetadata > ColCharacteristicsTempIndex


1 package com.daffodilwoods.daffodildb.server.sql99.dql.resultsetmetadata;
2
3 import java.text.*;
4 import com.daffodilwoods.daffodildb.server.datadictionarysystem.*;
5 import com.daffodilwoods.daffodildb.server.sql99.common.*;
6 import com.daffodilwoods.database.resource.*;
7
8 /**
9  * It represents column characteristics for temporary index. It is required in
10  * the case when we've to perform updation in case of listener work.
11  *
12  * For documentation refer to the documentation of _SelectColumnCharacteristics.
13  * <p>Title: </p>
14  * <p>Description: </p>
15  * <p>Copyright: Copyright (c) 2003</p>
16  * <p>Company: </p>
17  * @author unascribed
18  * @version 1.0
19  */

20
21 public class ColCharacteristicsTempIndex implements _SelectColumnCharacteristics {
22
23    private Object JavaDoc[][] tableDetailsCC;
24    private boolean isDistinctOrGroup;
25    private _AllColumnRowReader rowReader;
26    private boolean allOrSelected;
27    private int[] indexes;
28
29    public ColCharacteristicsTempIndex(Object JavaDoc[][] tableDetailsCC0, boolean isDistinctOrGroup0, int endingIndex0, boolean allOrSelected0) {
30       tableDetailsCC = tableDetailsCC0;
31       isDistinctOrGroup = isDistinctOrGroup0;
32       allOrSelected = allOrSelected0;
33    }
34
35    public boolean isColumnUpdatable(int parm1) throws com.daffodilwoods.database.resource.DException {
36       /**@todo Implement this com.daffodilwoods.daffodildb.server.sql99.dql.interfaces._SelectColumnCharacteristics method*/
37       throw new java.lang.UnsupportedOperationException JavaDoc("Method isColumnUpdatable() not yet implemented.");
38    }
39
40    public boolean isUpdatable() throws com.daffodilwoods.database.resource.DException {
41       /**@todo Implement this com.daffodilwoods.daffodildb.server.sql99.dql.interfaces._SelectColumnCharacteristics method*/
42       throw new java.lang.UnsupportedOperationException JavaDoc("Method isUpdatable() not yet implemented.");
43    }
44
45    public boolean isColumnSelectable(int parm1) throws com.daffodilwoods.database.resource.DException {
46       /**@todo Implement this com.daffodilwoods.daffodildb.server.sql99.dql.interfaces._SelectColumnCharacteristics method*/
47       throw new java.lang.UnsupportedOperationException JavaDoc("Method isColumnSelectable() not yet implemented.");
48    }
49
50    public _SelectColumnCharacteristics getColumnCharacteristics(int parm1) throws com.daffodilwoods.database.resource.DException {
51       /**@todo Implement this com.daffodilwoods.daffodildb.server.sql99.dql.interfaces._SelectColumnCharacteristics method*/
52       throw new java.lang.UnsupportedOperationException JavaDoc("Method getColumnCharacteristics() not yet implemented.");
53    }
54
55    public boolean isForeignTableRecordFetched(int parm1) throws com.daffodilwoods.database.resource.DException {
56       /**@todo Implement this com.daffodilwoods.daffodildb.server.sql99.dql.interfaces._SelectColumnCharacteristics method*/
57       throw new java.lang.UnsupportedOperationException JavaDoc("Method isForeignTableRecordFetched() not yet implemented.");
58    }
59
60    public String JavaDoc getExpression(int parm1) throws com.daffodilwoods.database.resource.DException {
61       /**@todo Implement this com.daffodilwoods.daffodildb.server.sql99.dql.interfaces._SelectColumnCharacteristics method*/
62       throw new java.lang.UnsupportedOperationException JavaDoc("Method getExpression() not yet implemented.");
63    }
64
65    public int getColumnType(int parm1) throws com.daffodilwoods.database.resource.DException {
66       Object JavaDoc[] array = getCCAndIndexFromMapping(parm1);
67       return ( (_ColumnCharacteristics) array[0]).getColumnType(array[1].hashCode());
68    }
69
70    private Object JavaDoc[] getCCAndIndexFromMapping(int index) throws DException {
71       _ColumnCharacteristics clmchs = null;
72       int columnIndex = -1;
73       for (int i = 0, length = tableDetailsCC.length; i < length; i++) {
74          int startingIndex = tableDetailsCC[i][2].hashCode();
75          if (index >= startingIndex) {
76             clmchs = (_ColumnCharacteristics) tableDetailsCC[i][1];
77             columnIndex = index - startingIndex;
78          } else {
79             return new Object JavaDoc[] {clmchs, new Integer JavaDoc(columnIndex)};
80          }
81       }
82       return new Object JavaDoc[] {clmchs, new Integer JavaDoc(columnIndex)};
83    }
84
85    public int getColumnIndex(String JavaDoc parm1) throws com.daffodilwoods.database.resource.DException {
86       /**@todo Implement this com.daffodilwoods.daffodildb.server.datadictionarysystem._ColumnCharacteristics method*/
87       throw new java.lang.UnsupportedOperationException JavaDoc("Method getColumnIndex() not yet implemented.");
88    }
89
90    public String JavaDoc getColumnName(int parm1) throws com.daffodilwoods.database.resource.DException {
91       Object JavaDoc[] array = getCCAndIndexFromMapping(parm1);
92       return ( (_ColumnCharacteristics) array[0]).getColumnName(array[1].hashCode());
93    }
94
95    public String JavaDoc getRelatedTable(int parm1) throws com.daffodilwoods.database.resource.DException, com.daffodilwoods.database.general.DatabaseException {
96       Object JavaDoc[] array = getCCAndIndexFromMapping(parm1);
97       return ( (_ColumnCharacteristics) array[0]).getRelatedTable(array[1].hashCode());
98    }
99
100    public int getColumnCount() throws com.daffodilwoods.database.resource.DException {
101       int length = tableDetailsCC.length - 1;
102       int startingIndex = tableDetailsCC[length][2].hashCode();
103       return startingIndex + ( (_ColumnCharacteristics) tableDetailsCC[length][1]).getColumnCount();
104    }
105
106    public String JavaDoc[] getColumnNames() throws com.daffodilwoods.database.resource.DException {
107       /**@todo Implement this com.daffodilwoods.daffodildb.server.datadictionarysystem._ColumnCharacteristics method*/
108       throw new java.lang.UnsupportedOperationException JavaDoc("Method getColumnNames() not yet implemented.");
109    }
110
111    public int getSize(int parm1) throws com.daffodilwoods.database.resource.DException {
112       Object JavaDoc[] array = getCCAndIndexFromMapping(parm1);
113       return ( (_ColumnCharacteristics) array[0]).getSize(array[1].hashCode());
114    }
115
116    public String JavaDoc[] getPrimaryKeys() throws com.daffodilwoods.database.resource.DException, com.daffodilwoods.database.general.DatabaseException {
117       /**@todo Implement this com.daffodilwoods.daffodildb.server.datadictionarysystem._ColumnCharacteristics method*/
118       throw new java.lang.UnsupportedOperationException JavaDoc("Method getPrimaryKeys() not yet implemented.");
119    }
120
121    public String JavaDoc getRelation(int parm1) throws com.daffodilwoods.database.resource.DException, com.daffodilwoods.database.general.DatabaseException {
122       Object JavaDoc[] array = getCCAndIndexFromMapping(parm1);
123       return ( (_ColumnCharacteristics) array[0]).getRelation(array[1].hashCode());
124    }
125
126    public int[] getColumnIndexes(String JavaDoc[] parm1) throws com.daffodilwoods.database.resource.DException {
127       /**@todo Implement this com.daffodilwoods.daffodildb.server.datadictionarysystem._ColumnCharacteristics method*/
128       throw new java.lang.UnsupportedOperationException JavaDoc("Method getColumnIndexes() not yet implemented.");
129    }
130
131    public int[] getPrimaryConditionColumns() throws com.daffodilwoods.database.resource.DException {
132       if (!allOrSelected) {
133          throw new DException("DSE3513", null);
134       }
135       if (indexes == null) {
136          int length = tableDetailsCC.length;
137          for (int i = 0; i < length; i++) {
138             _ColumnCharacteristics columnCharacteristics = (_ColumnCharacteristics) tableDetailsCC[i][1];
139             int[] indexesOfTable = columnCharacteristics.getPrimaryConditionColumns();
140             int startingIndex = -1;
141             startingIndex = tableDetailsCC[i][2].hashCode();
142             indexes = indexes == null ? addStartingIndex(indexesOfTable, startingIndex) :
143                 constructNewArray(indexes, addStartingIndex(indexesOfTable, startingIndex));
144          }
145       }
146       return indexes;
147    }
148
149    private int[] constructNewArray(int[] OldIndexes, int[] newTableIndexes) throws DException {
150       int lengthOfOld = OldIndexes.length, lengthOfNew = newTableIndexes.length;
151       int[] newIndexes = new int[lengthOfOld + lengthOfNew];
152       System.arraycopy(OldIndexes, 0, newIndexes, 0, lengthOfOld);
153       System.arraycopy(newTableIndexes, 0, newIndexes, lengthOfOld, lengthOfNew);
154       return newIndexes;
155    }
156
157    private int[] addStartingIndex(int[] indexes, int startingIndex) throws DException {
158       int length = indexes.length;
159       int[] indexesTemp = new int[length];
160       for (int i = 0; i < length; i++) {
161          indexesTemp[i] = indexes[i] + startingIndex;
162       }
163       return indexesTemp;
164    }
165
166    public String JavaDoc getTableName(int parm1) throws com.daffodilwoods.database.resource.DException, com.daffodilwoods.database.general.DatabaseException {
167       Object JavaDoc[] array = getCCAndIndexFromMapping(parm1);
168       return ( (_ColumnCharacteristics) array[0]).getTableName(array[1].hashCode());
169    }
170
171    public short getTableType() throws com.daffodilwoods.database.resource.DException {
172       return TypeConstants.VIEW;
173    }
174
175    public int getPrecision(int parm1) throws com.daffodilwoods.database.resource.DException {
176       Object JavaDoc[] array = getCCAndIndexFromMapping(parm1);
177       return ( (_ColumnCharacteristics) array[0]).getPrecision(array[1].hashCode());
178    }
179
180    public int getScale(int parm1) throws com.daffodilwoods.database.resource.DException {
181       Object JavaDoc[] array = getCCAndIndexFromMapping(parm1);
182       return ( (_ColumnCharacteristics) array[0]).getScale(array[1].hashCode());
183    }
184
185    public String JavaDoc getSchemaName(int parm1) throws com.daffodilwoods.database.resource.DException {
186       Object JavaDoc[] array = getCCAndIndexFromMapping(parm1);
187       return ( (_ColumnCharacteristics) array[0]).getSchemaName(array[1].hashCode());
188    }
189
190    public String JavaDoc getCatalogName(int parm1) throws com.daffodilwoods.database.resource.DException {
191       Object JavaDoc[] array = getCCAndIndexFromMapping(parm1);
192       return ( (_ColumnCharacteristics) array[0]).getCatalogName(array[1].hashCode());
193    }
194
195    public int isNullable(int parm1) throws com.daffodilwoods.database.resource.DException {
196       Object JavaDoc[] array = getCCAndIndexFromMapping(parm1);
197       return ( (_ColumnCharacteristics) array[0]).isNullable(array[1].hashCode());
198    }
199
200    public boolean isAutoIncrement(int parm1) throws com.daffodilwoods.database.resource.DException {
201       Object JavaDoc[] array = getCCAndIndexFromMapping(parm1);
202       return ( (_ColumnCharacteristics) array[0]).isAutoIncrement(array[1].hashCode());
203    }
204
205    public String JavaDoc getColumnLabel(int parm1) throws com.daffodilwoods.database.resource.DException {
206       Object JavaDoc[] array = getCCAndIndexFromMapping(parm1);
207       return ( (_ColumnCharacteristics) array[0]).getColumnLabel(array[1].hashCode());
208    }
209
210    public String JavaDoc getQualifiedTableName(int parm1) throws com.daffodilwoods.database.resource.DException {
211       Object JavaDoc[] array = getCCAndIndexFromMapping(parm1);
212       return ( (_ColumnCharacteristics) array[0]).getQualifiedTableName(array[1].hashCode());
213    }
214
215    public String JavaDoc[] getRelatedColumns(int parm1) throws com.daffodilwoods.database.resource.DException, com.daffodilwoods.database.general.DatabaseException {
216       Object JavaDoc[] array = getCCAndIndexFromMapping(parm1);
217       return ( (_ColumnCharacteristics) array[0]).getRelatedColumns(array[1].hashCode());
218    }
219
220    public void setRowReader(_AllColumnRowReader rowReader0) throws DException {
221       rowReader = rowReader0;
222    }
223
224    public Collator getCollator() throws DException {
225       /** @todo impelment this method */
226       throw new UnsupportedOperationException JavaDoc("Method not yet implemented");
227    }
228
229    public Object JavaDoc[] getCorresspondingColumnsForFromSubQueryColumn(Object JavaDoc column) throws DException {
230       throw new UnsupportedOperationException JavaDoc("Method not yet implemented");
231    }
232
233    public _ColumnCharacteristics getCCFromIndexes(_ColumnCharacteristics cc, int offset, int[] columnIndexes) throws DException {
234       throw new UnsupportedOperationException JavaDoc("getCCFromIndexes(cc, offset, columnIndexes) method not implemented yet");
235    }
236 }
237
Popular Tags