1 package salto.tool.sql.data;
2
3 import java.sql.ResultSet;
4 import java.sql.SQLException;
5 import java.sql.Types;
6
7 /***
8 * @version 1.0
9 * @author
10 */
11 public class TypeInfo {
12
13 /***
14 * Nom du type (retourné par la base de donnée)
15 */
16 private String typeName;
17 /***
18 * @see Types
19 */
20 private short dataTyp;
21 /***
22 * maximum precision
23 */
24 private int precision;
25 /***
26 * prefix used to quote a literal
27 */
28 private String literalPrefix;
29 /***
30 * suffix used to quote a literal
31 */
32 private String literalsuffix;
33 /***
34 * parameters used in creating the type
35 */
36 private String createParams;
37 /***
38 * can you use NULL for this type.
39 * <UL>
40 * <LI> typeNoNulls - does not allow NULL values
41 * <LI> typeNullable - allows NULL values
42 * <LI> typeNullableUnknown - nullability unknown
43 * </UL>
44 */
45 private short nullable;
46 /***
47 * is it case sensitive.
48 */
49 private boolean caseSensitive;
50 /***
51 * can you use "WHERE" based on this type:
52 * <UL>
53 * <LI> typePredNone - No support
54 * <LI> typePredChar - Only supported with WHERE .. LIKE
55 * <LI> typePredBasic - Supported except for WHERE .. LIKE
56 * <LI> typeSearchable - Supported for all WHERE ..
57 * </UL>
58 */
59 private short searchable;
60 /***
61 * is it unsigned.
62 */
63 private boolean unsignedAttribute;
64 /***
65 * can it be a money value.
66 */
67 private boolean fixedPrecScale;
68 /***
69 * can it be used for an auto-increment value.
70 */
71 private boolean autoIncrement;
72 /***
73 * localized version of type name
74 */
75 private String localTypeName;
76 /***
77 * minimum scale supported
78 */
79 private short minimumScale;
80 /***
81 * maximum scale supported
82 */
83 private short maximumScale;
84 /***
85 * unused
86 */
87 private int sqlDataTyp;
88 /***
89 * unused
90 */
91 private int sqlDateTimeSub;
92 /***
93 * usually 2 or 10
94 */
95 private int numPrecRadix;
96
97 /***
98 * Constructor for TypeInfo.
99 */
100 public TypeInfo(ResultSet rs) {
101 try {typeName = rs.getString(1);} catch (SQLException e) {}
102 try {dataTyp = rs.getShort(2);} catch (SQLException e) {}
103 try {precision = rs.getInt(3);} catch (SQLException e) {}
104 try {literalPrefix = rs.getString(4);} catch (SQLException e) {}
105 try {literalsuffix = rs.getString(5);} catch (SQLException e) {}
106 try {createParams = rs.getString(6);} catch (SQLException e) {}
107 try {nullable = rs.getShort(7);} catch (SQLException e) {}
108 try {caseSensitive = rs.getBoolean(8);} catch (SQLException e) {}
109 try {searchable = rs.getShort(9);} catch (SQLException e) {}
110 try {unsignedAttribute = rs.getBoolean(10);} catch (SQLException e) {}
111 try {fixedPrecScale = rs.getBoolean(11);} catch (SQLException e) {}
112 try {autoIncrement = rs.getBoolean(12);} catch (SQLException e) {}
113 try {localTypeName = rs.getString(13);} catch (SQLException e) {}
114 try {minimumScale = rs.getShort(14);} catch (SQLException e) {}
115 try {maximumScale = rs.getShort(15);} catch (SQLException e) {}
116 try {sqlDataTyp = rs.getInt(16);} catch (SQLException e) {}
117 try {sqlDateTimeSub = rs.getInt(17);} catch (SQLException e) {}
118 try {numPrecRadix = rs.getInt(18);} catch (SQLException e) {}
119 }
120
121 /***
122 * Gets the literalPrefix.
123 * @return Returns a String
124 */
125 public String getLiteralPrefix() {
126 return literalPrefix;
127 }
128
129 /***
130 * Sets the literalPrefix.
131 * @param literalPrefix The literalPrefix to set
132 */
133 public void setLiteralPrefix(String literalPrefix) {
134 this.literalPrefix = literalPrefix;
135 }
136
137 /***
138 * Gets the literalsuffix.
139 * @return Returns a String
140 */
141 public String getLiteralsuffix() {
142 return literalsuffix;
143 }
144
145 /***
146 * Sets the literalsuffix.
147 * @param literalsuffix The literalsuffix to set
148 */
149 public void setLiteralsuffix(String literalsuffix) {
150 this.literalsuffix = literalsuffix;
151 }
152
153 /***
154 * Gets the localTypeName.
155 * @return Returns a String
156 */
157 public String getLocalTypeName() {
158 return localTypeName;
159 }
160
161 /***
162 * Sets the localTypeName.
163 * @param localTypeName The localTypeName to set
164 */
165 public void setLocalTypeName(String localTypeName) {
166 this.localTypeName = localTypeName;
167 }
168
169 /***
170 * Gets the maximumScale.
171 * @return Returns a short
172 */
173 public short getMaximumScale() {
174 return maximumScale;
175 }
176
177 /***
178 * Sets the maximumScale.
179 * @param maximumScale The maximumScale to set
180 */
181 public void setMaximumScale(short maximumScale) {
182 this.maximumScale = maximumScale;
183 }
184
185 /***
186 * Gets the minimumScale.
187 * @return Returns a short
188 */
189 public short getMinimumScale() {
190 return minimumScale;
191 }
192
193 /***
194 * Sets the minimumScale.
195 * @param minimumScale The minimumScale to set
196 */
197 public void setMinimumScale(short minimumScale) {
198 this.minimumScale = minimumScale;
199 }
200
201 /***
202 * Gets the nullable.
203 * @return Returns a short
204 */
205 public short getNullable() {
206 return nullable;
207 }
208
209 /***
210 * Sets the nullable.
211 * @param nullable The nullable to set
212 */
213 public void setNullable(short nullable) {
214 this.nullable = nullable;
215 }
216
217 /***
218 * Gets the numPrecRadix.
219 * @return Returns a int
220 */
221 public int getNumPrecRadix() {
222 return numPrecRadix;
223 }
224
225 /***
226 * Sets the numPrecRadix.
227 * @param numPrecRadix The numPrecRadix to set
228 */
229 public void setNumPrecRadix(int numPrecRadix) {
230 this.numPrecRadix = numPrecRadix;
231 }
232
233 /***
234 * Gets the precision.
235 * @return Returns a int
236 */
237 public int getPrecision() {
238 return precision;
239 }
240
241 /***
242 * Sets the precision.
243 * @param precision The precision to set
244 */
245 public void setPrecision(int precision) {
246 this.precision = precision;
247 }
248
249 /***
250 * Gets the searchable.
251 * @return Returns a short
252 */
253 public short getSearchable() {
254 return searchable;
255 }
256
257 /***
258 * Sets the searchable.
259 * @param searchable The searchable to set
260 */
261 public void setSearchable(short searchable) {
262 this.searchable = searchable;
263 }
264
265 /***
266 * Gets the sqlDataTyp.
267 * @return Returns a int
268 */
269 public int getSqlDataTyp() {
270 return sqlDataTyp;
271 }
272
273 /***
274 * Sets the sqlDataTyp.
275 * @param sqlDataTyp The sqlDataTyp to set
276 */
277 public void setSqlDataTyp(int sqlDataTyp) {
278 this.sqlDataTyp = sqlDataTyp;
279 }
280
281 /***
282 * Gets the autoIncrement.
283 * @return Returns a boolean
284 */
285 public boolean getAutoIncrement() {
286 return autoIncrement;
287 }
288
289 /***
290 * Sets the autoIncrement.
291 * @param autoIncrement The autoIncrement to set
292 */
293 public void setAutoIncrement(boolean autoIncrement) {
294 this.autoIncrement = autoIncrement;
295 }
296
297 /***
298 * Gets the caseSensitive.
299 * @return Returns a boolean
300 */
301 public boolean getCaseSensitive() {
302 return caseSensitive;
303 }
304
305 /***
306 * Sets the caseSensitive.
307 * @param caseSensitive The caseSensitive to set
308 */
309 public void setCaseSensitive(boolean caseSensitive) {
310 this.caseSensitive = caseSensitive;
311 }
312
313 /***
314 * Gets the createParams.
315 * @return Returns a String
316 */
317 public String getCreateParams() {
318 return createParams;
319 }
320
321 /***
322 * Sets the createParams.
323 * @param createParams The createParams to set
324 */
325 public void setCreateParams(String createParams) {
326 this.createParams = createParams;
327 }
328
329 /***
330 * Gets the dataTyp.
331 * @return Returns a short
332 */
333 public short getDataTyp() {
334 return dataTyp;
335 }
336
337 /***
338 * Sets the dataTyp.
339 * @param dataTyp The dataTyp to set
340 */
341 public void setDataTyp(short dataTyp) {
342 this.dataTyp = dataTyp;
343 }
344
345 /***
346 * Gets the ixedPrecScale.
347 * @return Returns a boolean
348 */
349 public boolean getIxedPrecScale() {
350 return fixedPrecScale;
351 }
352
353 /***
354 * Sets the ixedPrecScale.
355 * @param ixedPrecScale The ixedPrecScale to set
356 */
357 public void setIxedPrecScale(boolean ixedPrecScale) {
358 fixedPrecScale = ixedPrecScale;
359 }
360
361 /***
362 * Gets the sqlDateTimeSub.
363 * @return Returns a int
364 */
365 public int getSqlDateTimeSub() {
366 return sqlDateTimeSub;
367 }
368
369 /***
370 * Sets the sqlDateTimeSub.
371 * @param sqlDateTimeSub The sqlDateTimeSub to set
372 */
373 public void setSqlDateTimeSub(int sqlDateTimeSub) {
374 this.sqlDateTimeSub = sqlDateTimeSub;
375 }
376
377 /***
378 * Gets the typeName.
379 * @return Returns a String
380 */
381 public String getTypeName() {
382 return typeName;
383 }
384
385 /***
386 * Sets the typeName.
387 * @param typeName The typeName to set
388 */
389 public void setTypeName(String typeName) {
390 this.typeName = typeName;
391 }
392
393 /***
394 * Gets the unsignedAttribute.
395 * @return Returns a boolean
396 */
397 public boolean getUnsignedAttribute() {
398 return unsignedAttribute;
399 }
400
401 /***
402 * Sets the unsignedAttribute.
403 * @param unsignedAttribute The unsignedAttribute to set
404 */
405 public void setUnsignedAttribute(boolean unsignedAttribute) {
406 this.unsignedAttribute = unsignedAttribute;
407 }
408
409 }