KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > sql99 > common > StaticClass


1 package com.daffodilwoods.daffodildb.server.sql99.common;
2
3 /**
4  * Title:
5  * Description:
6  * Copyright: Copyright (c) 2002
7  * Company:
8  * @author
9  * @version 1.0
10  */

11 import com.daffodilwoods.daffodildb.server.sql99.common.*;
12 import com.daffodilwoods.database.resource.DException;
13 import com.daffodilwoods.database.utility.P;
14 import java.util.ArrayList JavaDoc;
15 import java.util.Arrays JavaDoc;
16 import java.util.TreeSet JavaDoc;
17 import java.math.BigDecimal JavaDoc;
18 import com.daffodilwoods.daffodildb.server.sql99.utils._Reference;
19
20 public class StaticClass implements TypeConstants, Datatypes {
21
22    public StaticClass() {
23    }
24
25    public static ColumnDetails[] mergeColumnDetails(ColumnDetails[] columnDetails1, ColumnDetails[] columnDetails2) throws DException {
26      if (columnDetails1 == null)
27         return columnDetails2;
28      if (columnDetails2 == null)
29         return columnDetails1;
30      ColumnDetails[] objectTarget = new ColumnDetails[columnDetails1.length + columnDetails2.length];
31      int i = 0;
32      for (; i < columnDetails1.length; ++i)
33         objectTarget[i] = columnDetails1[i];
34      for (int j = 0; j < columnDetails2.length; ++i, ++j)
35         objectTarget[i] = columnDetails2[j];
36      return objectTarget;
37   }
38
39   public static String JavaDoc getDataTypeName(int datatype) throws DException {
40      switch (datatype) {
41         case BYTE:
42            return new String JavaDoc("BYTE");
43         case TINYINT:
44            return new String JavaDoc("TINYINT");
45         case SMALLINT:
46            return new String JavaDoc("SMALLINT");
47         case SHORT:
48           return new String JavaDoc("SMALLINT");
49         case INT:
50            return new String JavaDoc("INT");
51         case INTEGER:
52            return new String JavaDoc("INTEGER");
53         case LONG:
54            return new String JavaDoc("LONG");
55         case BIGINT:
56            return new String JavaDoc("BIGINT");
57         case FLOAT:
58            return new String JavaDoc("FLOAT");
59         case DOUBLE:
60            return new String JavaDoc("DOUBLE");
61         case DOUBLEPRECISION:
62            return new String JavaDoc("DOUBLEPRECISION");
63         case REAL:
64            return new String JavaDoc("REAL");
65         case DEC:
66            return new String JavaDoc("DEC");
67         case DECIMAL:
68            return new String JavaDoc("DECIMAL");
69         case NUMERIC:
70            return new String JavaDoc("NUMERIC");
71         case BIGDECIMAL:
72            return new String JavaDoc("BIGDECIMAL");
73         case BOOLEAN:
74            return new String JavaDoc("BOOLEAN");
75         case TRUEFALSE:
76            return new String JavaDoc("TRUEFALSE");
77         case DATE:
78            return new String JavaDoc("DATE");
79         case TIME:
80            return new String JavaDoc("TIME");
81         case TIME_WITH_TIMEZONE:
82            return new String JavaDoc("TIME_WITH_TIMEZONE");
83         case TIMESTAMP:
84            return new String JavaDoc("TIMESTAMP");
85         case TIMESTAMP_WITH_TIMEZONE:
86            return new String JavaDoc("TIMESTAMP_WITH_TIMEZONE");
87         case BLOB:
88            return new String JavaDoc("BLOB");
89         case LONGVARBINARY:
90            return new String JavaDoc("LONGVARBINARY");
91         case CLOB:
92            return new String JavaDoc("CLOB");
93         case CHARACTER:
94            return new String JavaDoc("CHARACTER");
95         case CHAR:
96            return new String JavaDoc("CHAR");
97         case CHARACTERLARGEOBJECT:
98            return new String JavaDoc("CHARACTERLARGEOBJECT");
99         case CHARLARGEOBJECT:
100            return new String JavaDoc("CHARLARGEOBJECT");
101         case BINARYLARGEOBJECT:
102            return new String JavaDoc("BINARYLARGEOBJECT");
103         case BIT:
104            return new String JavaDoc("BIT");
105         case BINARY:
106            return new String JavaDoc("BINARY");
107         case BITVARYING:
108            return new String JavaDoc("BITVARYING");
109         case VARBINARY:
110            return new String JavaDoc("VARBINARY");
111         case VARCHAR:
112            return new String JavaDoc("VARCHAR");
113         case LONGVARCHAR:
114            return new String JavaDoc("LONGVARCHAR");
115         case REF:
116            return new String JavaDoc("REF");
117         case STRUCT:
118            return new String JavaDoc("STRUCT");
119         case MODULE:
120            return new String JavaDoc("MODULE");
121         case SUM:
122            return new String JavaDoc("SUM");
123         case ARRAY:
124            return new String JavaDoc("ARRAY");
125         case RECORD:
126            return new String JavaDoc("RECORD");
127         case RECORDSET:
128            return new String JavaDoc("RECORDSET");
129         default:
130            return new String JavaDoc("UNKNOWN");
131      }
132   }
133
134   public static String JavaDoc printArray(Object JavaDoc[] al) {
135      if (al == null)
136         return "null";
137      StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
138      for (int i = 0, size = al.length; i < size; i++) {
139         sb.append(al[i]);
140         if (i != (size - 1))
141            sb.append(",");
142      }
143      return sb.toString();
144   }
145
146   public static String JavaDoc printArray(_Reference[] al) throws DException {
147      if (al == null)
148         return "null";
149      StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
150      TreeSet JavaDoc tr = new TreeSet JavaDoc(String.CASE_INSENSITIVE_ORDER);
151      for (int i = 0, size = al.length; i < size; i++) {
152         String JavaDoc aaa = al[i].getColumn();
153         aaa = aaa == null ? "" : aaa.trim();
154         if(tr.contains(aaa)){
155            continue;
156         }
157         tr.add(aaa);
158         sb.append(aaa);
159         sb.append(",");
160      }
161      sb.setCharAt(sb.length()-1,' ');
162      return sb.toString();
163   }
164
165   public static int getDataType(Object JavaDoc object) throws DException {
166      if (object instanceof Integer JavaDoc)
167         return INTEGER;
168      else if (object instanceof Float JavaDoc)
169         return FLOAT;
170      else if (object instanceof Double JavaDoc)
171         return DOUBLE;
172      else if (object instanceof Long JavaDoc)
173         return LONG;
174      else if (object instanceof String JavaDoc)
175         return CHARACTER;
176      else if (object instanceof Short JavaDoc)
177         return SHORT;
178      else if (object instanceof BigDecimal JavaDoc)
179         return BIGDECIMAL;
180      else if (object instanceof Byte JavaDoc)
181         return BYTE;
182      else if (object instanceof Character JavaDoc)
183         return CHARACTER;
184      else if (object instanceof Boolean JavaDoc)
185         return BOOLEAN;
186      throw new DException("DSE4118", null);
187   }
188 }
189
Popular Tags