KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > webdocwf > util > xml > XmlResultSetMetaData


1 /*
2     Copyright (C) 2003 Together
3
4     This library is free software; you can redistribute it and/or
5     modify it under the terms of the GNU Lesser General Public
6     License as published by the Free Software Foundation; either
7     version 2.1 of the License, or (at your option) any later version.
8
9     This library is distributed in the hope that it will be useful,
10     but WITHOUT ANY WARRANTY; without even the implied warranty of
11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12     Lesser General Public License for more details.
13
14     You should have received a copy of the GNU Lesser General Public
15     License along with this library; if not, write to the Free Software
16     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 */

18
19 package org.webdocwf.util.xml;
20
21 import java.sql.ResultSetMetaData JavaDoc;
22 import java.sql.SQLException JavaDoc;
23 import java.sql.Types JavaDoc;
24
25 /**
26  * Class implements the JDBC ResultSetMetaData interface for the XmlJdbc driver.
27  *
28  * @author Zoran Milakovic
29  */

30 public class XmlResultSetMetaData implements ResultSetMetaData JavaDoc
31 {
32   /** Default value for getColumnDisplaySize */
33   final static int DISPLAY_SIZE = 20;
34   /** Names of columns */
35   protected String JavaDoc[] columnNames;
36   /** Name of table */
37   protected String JavaDoc tableName;
38
39   /**Constructor for the XmlResultSetMetaData object
40    *
41    * @param tableName Name of table
42    * @param columnNames Names of columns in table
43    */

44   XmlResultSetMetaData(String JavaDoc tableName, String JavaDoc[] columnNames)
45   {
46     this.tableName = tableName;
47     this.columnNames = columnNames;
48   }
49
50
51   /**Returns the name of the class for the specified column. Always returns
52    * String.
53    *
54    * @param column The column number
55    * @return The name of the class for the requested column
56    * @exception SQLException Thrown if there was a problem
57    */

58   public String JavaDoc getColumnClassName(int column) throws SQLException JavaDoc
59   {
60     return String JavaDoc.class.getName();
61   }
62
63
64   /** Returns the number of columns in the table.
65    *
66    * @return The number of columns in the table
67    * @exception SQLException Thrown if there is a a problem
68    */

69   public int getColumnCount() throws SQLException JavaDoc
70   {
71     return columnNames.length;
72   }
73
74
75   /** Returns the name of the catalog for the specified column. Returns "".
76    *
77    * @param column The column to get the catalog for
78    * @return The catalog name (always "")
79    * @exception SQLException Thrown if there is a problem
80    */

81   public String JavaDoc getCatalogName(int column) throws SQLException JavaDoc
82   {
83     return "";
84   }
85
86
87   /**Returns the display column size for the specified column. Always returns 20.
88    *
89    * @param column The column to get the size of
90    * @return The size of the requested column
91    * @exception SQLException Thrown if there is a problem.
92    */

93   public int getColumnDisplaySize(int column) throws SQLException JavaDoc
94   {
95     return DISPLAY_SIZE;
96   }
97
98
99   /**Gets the auto increment falg for the specfied column.
100    *
101    * @param column The column to get the flag for
102    * @return The autoIncrement flag (always false)
103    * @exception SQLException Thrown if there is a problem
104    */

105   public boolean isAutoIncrement(int column) throws SQLException JavaDoc
106   {
107     return false;
108   }
109
110
111   /**Returns the case sensitivity flag for the specfied column
112    *
113    * @param column The column to return the flag for
114    * @return The caseSensitive flag (always false)
115    * @exception SQLException Thrown if there is a problem
116    */

117   public boolean isCaseSensitive(int column) throws SQLException JavaDoc
118   {
119     //all columns are uppercase
120
return false;
121   }
122
123
124   /** Returns the searchable flag for the specified column
125    *
126    * @param column the column to return the flag form
127    * @return The searchable flag (always false)
128    * @exception SQLException Thrown if there is a problem
129    */

130   public boolean isSearchable(int column) throws SQLException JavaDoc
131   {
132     // the implementation doesn't support the where clause
133
return true;
134   }
135
136
137   /**Returns the currency flag for the specified column
138    *
139    * @param column The column to get the flag for
140    * @return The currency flag (always false)
141    * @exception SQLException Thrown if there is a problem
142    */

143   public boolean isCurrency(int column) throws SQLException JavaDoc
144   {
145     return false;
146   }
147
148
149   /** Returns the nullable flag for the specfied column
150    *
151    * @param column The column to return the flag for
152    * @return The nullable flag (always unknown)
153    * @exception SQLException Thrown if there is a problem
154    */

155   public int isNullable(int column) throws SQLException JavaDoc
156   {
157     return ResultSetMetaData.columnNullableUnknown;
158   }
159
160
161   /**Returns the signed flag for the specfied column
162    *
163    * @param column The column to return the flag for
164    * @return The signed flag (always false)
165    * @exception SQLException Thrown if there is a problem
166    */

167   public boolean isSigned(int column) throws SQLException JavaDoc
168   {
169     return false;
170   }
171
172
173   /** Returns the label for the specified column
174    *
175    * @param column The column to get the label for
176    * @return the label for the specified column
177    * @exception SQLException Thrown if there is a problem
178    */

179   public String JavaDoc getColumnLabel(int column) throws SQLException JavaDoc
180   {
181     // SQL column numbers start at 1
182
return columnNames[column-1];
183   }
184
185
186   /**Returns the name of the specified column
187    *
188    * @param column The column to get the name of
189    * @return The name of the column
190    * @exception SQLException Thrown if there is a problem
191    */

192   public String JavaDoc getColumnName(int column) throws SQLException JavaDoc
193   {
194     // SQL column numbers start at 1
195
return columnNames[column-1];
196   }
197
198
199   /**
200    * @param column is number of column
201    * @throws SQLException
202    * @return emty string
203    */

204   public String JavaDoc getSchemaName(int column) throws SQLException JavaDoc
205   {
206     return "";
207   }
208
209
210   /**
211    * @param column is number of column
212    * @throws SQLException
213    * @return 0
214    */

215   public int getPrecision(int column) throws SQLException JavaDoc
216   {
217     // All the fields are text, should this throw an SQLException?
218
return 0;
219   }
220
221
222   /**
223    * @param column is number of column
224    * @throws SQLException
225    * @return 0
226    */

227   public int getScale(int column) throws SQLException JavaDoc
228   {
229     // All the fields are text, should this throw an SQLException?
230
return 0;
231   }
232
233
234   /**
235    * @param column is number of column
236    * @throws SQLException
237    * @return table name
238    */

239   public String JavaDoc getTableName(int column) throws SQLException JavaDoc
240   {
241     return tableName;
242   }
243
244
245   /**
246    * @param column is number of column
247    * @throws SQLException
248    * @return VARCHAR (type of data)
249    */

250   public int getColumnType(int column) throws SQLException JavaDoc
251   {
252     return Types.VARCHAR;
253   }
254
255
256   /**
257    * @param column is number of column
258    * @throws SQLException
259    * @return name of the class
260    */

261   public String JavaDoc getColumnTypeName(int column) throws SQLException JavaDoc
262   {
263     return "VARCHAR";
264   }
265
266
267   /**
268    * @param column is number of column
269    * @throws SQLException
270    * @return true
271    */

272   public boolean isReadOnly(int column) throws SQLException JavaDoc
273   {
274     return true;
275   }
276
277
278   /**
279    * @param column is number of column
280    * @throws SQLException
281    * @return false
282    */

283   public boolean isWritable(int column) throws SQLException JavaDoc
284   {
285     return false;
286   }
287
288
289   /**
290    * @param column is number of column
291    * @throws SQLException
292    * @return false
293    */

294   public boolean isDefinitelyWritable(int column) throws SQLException JavaDoc
295   {
296     return false;
297   }
298
299 }
300
301
Popular Tags