KickJava   Java API By Example, From Geeks To Geeks.

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


1 package com.daffodilwoods.daffodildb.server.sql99.dql.resultsetmetadata;
2
3 import java.text.*;
4
5 import com.daffodilwoods.daffodildb.server.sql99.common.*;
6 import com.daffodilwoods.database.resource.*;
7 import com.daffodilwoods.daffodildb.server.datadictionarysystem._ColumnCharacteristics;
8
9 /**
10  * It represents the characteristics of chained column. It is based on the
11  * characteristics of the table whose column is refered in chained column.
12  *
13  * For documentation, refer the documentation of _SelectColumnCharacteristics.
14  *
15  * <p>Title: </p>
16  * <p>Description: </p>
17  * <p>Copyright: Copyright (c) 2002</p>
18  * <p>Company: </p>
19  * @author unascribed
20  * @version 1.0
21  */

22 public class ForeignTableColumnCharacteristics implements _SelectColumnCharacteristics {
23
24    int[] columnIndexesOrignal = null;
25    int[] columnIndexesDuplicate = null;
26    _SelectColumnCharacteristics parentSelectCharacteristics = null;
27    String JavaDoc[] columns = null;
28    ColumnDetails cd = null;
29    String JavaDoc[] requiredColumns = null;
30
31    public ForeignTableColumnCharacteristics(String JavaDoc[] colmns, int[] orig) throws DException {
32       columns = colmns;
33       columnIndexesOrignal = orig;
34       setDuplicateColumns();
35       requiredColumns = new String JavaDoc[columnIndexesOrignal.length];
36    }
37
38    private void setDuplicateColumns() {
39       int len = columnIndexesOrignal.length;
40       columnIndexesDuplicate = new int[len];
41       for (int i = 0; i < len; i++) {
42          columnIndexesDuplicate[i] = i;
43       }
44    }
45
46    public void setColumnDetails(ColumnDetails cd) {
47       this.cd = cd;
48    }
49
50    public void setParentSelectColumnCharacteristics(_SelectColumnCharacteristics parentSelectCharacteristics) throws DException {
51       this.parentSelectCharacteristics = parentSelectCharacteristics;
52       for (int i = 0; i < columnIndexesOrignal.length; i++) {
53          requiredColumns[i] = parentSelectCharacteristics.getColumnName(columnIndexesOrignal[i]);
54       }
55    }
56
57    public boolean isColumnUpdatable(int parm1) throws com.daffodilwoods.database.resource.DException {
58       return parentSelectCharacteristics.isColumnUpdatable(columnIndexesOrignal[parm1 - 1]);
59    }
60
61    public boolean isUpdatable() throws com.daffodilwoods.database.resource.DException {
62       return parentSelectCharacteristics.isUpdatable();
63    }
64
65    public boolean isColumnSelectable(int parm1) throws com.daffodilwoods.database.resource.DException {
66       return parentSelectCharacteristics.isColumnSelectable(columnIndexesOrignal[parm1 - 1]);
67    }
68
69    public _SelectColumnCharacteristics getColumnCharacteristics(int parm1) throws com.daffodilwoods.database.resource.DException {
70       return parentSelectCharacteristics.getColumnCharacteristics(columnIndexesOrignal[parm1 - 1]);
71    }
72
73    public boolean isForeignTableRecordFetched(int parm1) throws com.daffodilwoods.database.resource.DException {
74       return parentSelectCharacteristics.isForeignTableRecordFetched(columnIndexesOrignal[parm1 - 1]);
75    }
76
77    public int getSelectedIndex(int parm1) throws com.daffodilwoods.database.resource.DException {
78       return columnIndexesOrignal[parm1 - 1];
79    }
80
81    public int getSelectedIndex(String JavaDoc parm1) throws com.daffodilwoods.database.resource.DException {
82       int len = requiredColumns.length;
83       for (int i = 0; i < len; i++) {
84          if (requiredColumns[i].equalsIgnoreCase(parm1)) {
85             return columnIndexesOrignal[i];
86          }
87       }
88       return -1;
89    }
90
91    public int getColumnType(int parm1) throws com.daffodilwoods.database.resource.DException {
92       return parentSelectCharacteristics.getColumnType(columnIndexesOrignal[parm1 - 1]);
93    }
94
95    public int getColumnIndex(String JavaDoc parm1) throws com.daffodilwoods.database.resource.DException {
96       int len = requiredColumns.length;
97       for (int i = 0; i < len; i++) {
98          if (requiredColumns[i].equalsIgnoreCase(parm1)) {
99             return i + 1;
100          }
101       }
102       return -1;
103    }
104
105    public String JavaDoc getColumnName(int parm1) throws com.daffodilwoods.database.resource.DException {
106       return parentSelectCharacteristics.getColumnName(parm1);
107    }
108
109    public String JavaDoc getRelatedTable(int parm1) throws com.daffodilwoods.database.resource.DException, com.daffodilwoods.database.general.DatabaseException {
110       return parentSelectCharacteristics.getRelatedTable(columnIndexesOrignal[parm1 - 1]);
111    }
112
113    public String JavaDoc[] getRelatedColumns(int index) throws DException {
114       return parentSelectCharacteristics.getRelatedColumns(columnIndexesOrignal[index - 1]);
115    }
116
117    public int getColumnCount() throws com.daffodilwoods.database.resource.DException {
118       return columnIndexesDuplicate.length;
119    }
120
121    public String JavaDoc[] getColumnNames() throws com.daffodilwoods.database.resource.DException {
122       return requiredColumns;
123    }
124
125    public int getSize(int parm1) throws com.daffodilwoods.database.resource.DException {
126       return parentSelectCharacteristics.getSize(columnIndexesOrignal[parm1 - 1]);
127    }
128
129    public String JavaDoc[] getPrimaryKeys() throws com.daffodilwoods.database.resource.DException, com.daffodilwoods.database.general.DatabaseException {
130       return parentSelectCharacteristics.getPrimaryKeys();
131    }
132
133    public String JavaDoc getRelation(int parm1) throws com.daffodilwoods.database.resource.DException, com.daffodilwoods.database.general.DatabaseException {
134       return parentSelectCharacteristics.getRelation(columnIndexesOrignal[parm1 - 1]);
135    }
136
137    public int[] getColumnIndexes(String JavaDoc[] parm1) throws com.daffodilwoods.database.resource.DException {
138       /**@todo Implement this com.daffodilwoods.daffodildb.server.datadictionarysystem._ColumnCharacteristics method*/
139       throw new java.lang.UnsupportedOperationException JavaDoc("Method getColumnIndexes() not yet implemented.");
140    }
141
142    public int[] getPrimaryConditionColumns() throws com.daffodilwoods.database.resource.DException {
143       return parentSelectCharacteristics.getPrimaryConditionColumns();
144    }
145
146    public String JavaDoc getTableName(int parm1) throws com.daffodilwoods.database.resource.DException, com.daffodilwoods.database.general.DatabaseException {
147       return parentSelectCharacteristics.getTableName(columnIndexesOrignal[parm1 - 1]);
148    }
149
150    public short getTableType() throws com.daffodilwoods.database.resource.DException {
151       return parentSelectCharacteristics.getTableType();
152    }
153
154    public int getPrecision(int parm1) throws com.daffodilwoods.database.resource.DException {
155       return parentSelectCharacteristics.getPrecision(columnIndexesOrignal[parm1 - 1]);
156    }
157
158    public int getScale(int parm1) throws com.daffodilwoods.database.resource.DException {
159       return parentSelectCharacteristics.getScale(columnIndexesOrignal[parm1 - 1]);
160    }
161
162    public String JavaDoc getSchemaName(int parm1) throws com.daffodilwoods.database.resource.DException {
163       return parentSelectCharacteristics.getSchemaName(columnIndexesOrignal[parm1 - 1]);
164    }
165
166    public String JavaDoc getCatalogName(int parm1) throws com.daffodilwoods.database.resource.DException {
167       return parentSelectCharacteristics.getCatalogName(columnIndexesOrignal[parm1 - 1]);
168    }
169
170    public int isNullable(int parm1) throws com.daffodilwoods.database.resource.DException {
171       return parentSelectCharacteristics.isNullable(columnIndexesOrignal[parm1 - 1]);
172    }
173
174    public boolean isAutoIncrement(int parm1) throws com.daffodilwoods.database.resource.DException {
175       return parentSelectCharacteristics.isAutoIncrement(columnIndexesOrignal[parm1 - 1]);
176    }
177
178    public String JavaDoc getColumnLabel(int parm1) throws com.daffodilwoods.database.resource.DException {
179       return parentSelectCharacteristics.getColumnLabel(columnIndexesOrignal[parm1 - 1]);
180    }
181
182    public String JavaDoc getQualifiedTableName(int parm1) throws com.daffodilwoods.database.resource.DException {
183       return parentSelectCharacteristics.getQualifiedTableName(columnIndexesOrignal[parm1 - 1]);
184    }
185
186    public String JavaDoc getExpression(int index) throws DException {
187       return parentSelectCharacteristics.getExpression(columnIndexesOrignal[index - 1]);
188    }
189
190    public Collator getCollator() throws DException {
191       /** @todo impelment this method */
192       throw new UnsupportedOperationException JavaDoc("Method not yet implemented");
193    }
194
195    public Object JavaDoc[] getCorresspondingColumnsForFromSubQueryColumn(Object JavaDoc column) throws DException {
196       throw new UnsupportedOperationException JavaDoc("Method not yet implemented");
197    }
198
199    public _ColumnCharacteristics getCCFromIndexes(_ColumnCharacteristics cc, int offset, int[] columnIndexes) throws DException {
200       throw new UnsupportedOperationException JavaDoc("getCCFromIndexes(cc, offset, columnIndexes) method not implemented yet");
201    }
202 }
203
Popular Tags