src/org/objectweb/cjdbc/common/sql/schema/DatabaseProcedureParameter.java

説明を見る。
00001 00025 package org.objectweb.cjdbc.common.sql.schema; 00026 00027 import java.io.Serializable; 00028 import java.sql.Types; 00029 00030 import org.objectweb.cjdbc.common.xml.DatabasesXmlTags; 00031 00037 public class DatabaseProcedureParameter implements Serializable 00038 { 00042 public static final int ProcedureColumnUnknown = 0; 00044 public static final int ProcedureColumnIn = 1; 00046 public static final int ProcedureColumnInOut = 2; 00048 public static final int ProcedureColumnOut = 3; 00050 public static final int ProcedureColumnReturn = 4; 00052 public static final int ProcedureColumnResult = 5; 00053 00056 public static final int ProcedureNoNulls = 0; 00058 public static final int ProcedureNullable = 1; 00060 public static final int ProcedureNullableUnknown = 2; 00061 00062 private String name; 00063 private int columnType; 00064 private int dataType; 00065 private String typeName; 00066 private float precision; 00067 private int length; 00068 private int scale; 00069 private int radix; 00070 private int nullable; 00071 private String remarks; 00072 00079 public static int getNullFromString(String nullable) 00080 { 00081 if (nullable.equalsIgnoreCase(DatabasesXmlTags.VAL_noNulls)) 00082 return ProcedureNoNulls; 00083 if (nullable.equalsIgnoreCase(DatabasesXmlTags.VAL_nullable)) 00084 return ProcedureNullable; 00085 else 00086 return ProcedureNullableUnknown; 00087 } 00088 00095 public static String getNullFromInt(int nullable) 00096 { 00097 switch (nullable) 00098 { 00099 case ProcedureNoNulls : 00100 return DatabasesXmlTags.VAL_noNulls; 00101 case ProcedureNullable : 00102 return DatabasesXmlTags.VAL_nullable; 00103 case ProcedureNullableUnknown : 00104 default : 00105 return DatabasesXmlTags.VAL_nullableUnknown; 00106 } 00107 } 00108 00115 public static String getColumnTypeFromInt(int type) 00116 { 00117 switch (type) 00118 { 00119 case ProcedureColumnIn : 00120 return DatabasesXmlTags.VAL_in; 00121 case ProcedureColumnOut : 00122 return DatabasesXmlTags.VAL_out; 00123 case ProcedureColumnInOut : 00124 return DatabasesXmlTags.VAL_inout; 00125 case ProcedureColumnReturn : 00126 return DatabasesXmlTags.VAL_return; 00127 case ProcedureColumnResult : 00128 return DatabasesXmlTags.VAL_result; 00129 case ProcedureColumnUnknown : 00130 default : 00131 return DatabasesXmlTags.VAL_unknown; 00132 } 00133 } 00134 00141 public static int getColumnTypeFromString(String type) 00142 { 00143 if (type.equalsIgnoreCase(DatabasesXmlTags.VAL_in)) 00144 return ProcedureColumnIn; 00145 if (type.equalsIgnoreCase(DatabasesXmlTags.VAL_out)) 00146 return ProcedureColumnOut; 00147 if (type.equalsIgnoreCase(DatabasesXmlTags.VAL_inout)) 00148 return ProcedureColumnInOut; 00149 if (type.equalsIgnoreCase(DatabasesXmlTags.VAL_return)) 00150 return ProcedureColumnReturn; 00151 if (type.equalsIgnoreCase(DatabasesXmlTags.VAL_result)) 00152 return ProcedureColumnResult; 00153 else 00154 return ProcedureColumnUnknown; 00155 } 00156 00164 public DatabaseProcedureParameter(String name, int columnType, int nullable) 00165 { 00166 this(name, columnType, Types.VARCHAR, "VARCHAR", 0, 0, 0, 0, nullable, ""); 00167 } 00168 00182 public DatabaseProcedureParameter(String name, int columnType, int dataType, 00183 String typeName, float precision, int length, int scale, int radix, 00184 int nullable, String remarks) 00185 { 00186 this.name = name; 00187 this.columnType = columnType; 00188 this.dataType = dataType; 00189 this.typeName = typeName; 00190 this.precision = precision; 00191 this.length = length; 00192 this.scale = scale; 00193 this.radix = radix; 00194 this.nullable = nullable; 00195 this.remarks = remarks; 00196 } 00197 00201 public final int getColumnType() 00202 { 00203 return columnType; 00204 } 00205 00209 public final void setColumnType(int columnType) 00210 { 00211 this.columnType = columnType; 00212 } 00213 00217 public final int getDataType() 00218 { 00219 return dataType; 00220 } 00221 00225 public final void setDataType(int dataType) 00226 { 00227 this.dataType = dataType; 00228 } 00229 00233 public final int getLength() 00234 { 00235 return length; 00236 } 00237 00241 public final void setLength(int length) 00242 { 00243 this.length = length; 00244 } 00245 00249 public final String getName() 00250 { 00251 return name; 00252 } 00253 00257 public final void setName(String name) 00258 { 00259 this.name = name; 00260 } 00261 00265 public final int getNullable() 00266 { 00267 return nullable; 00268 } 00269 00273 public final void setNullable(int nullable) 00274 { 00275 this.nullable = nullable; 00276 } 00277 00281 public final float getPrecision() 00282 { 00283 return precision; 00284 } 00285 00289 public final void setPrecision(int precision) 00290 { 00291 this.precision = precision; 00292 } 00293 00297 public final int getRadix() 00298 { 00299 return radix; 00300 } 00301 00305 public final void setRadix(int radix) 00306 { 00307 this.radix = radix; 00308 } 00309 00313 public final String getRemarks() 00314 { 00315 return remarks; 00316 } 00317 00321 public final void setRemarks(String remarks) 00322 { 00323 this.remarks = remarks; 00324 } 00325 00329 public final int getScale() 00330 { 00331 return scale; 00332 } 00333 00337 public final void setScale(int scale) 00338 { 00339 this.scale = scale; 00340 } 00341 00345 public final String getTypeName() 00346 { 00347 return typeName; 00348 } 00349 00353 public final void setTypeName(String typeName) 00354 { 00355 this.typeName = typeName; 00356 } 00357 00365 public boolean equals(Object other) 00366 { 00367 if ((other == null) || !(other instanceof DatabaseProcedureParameter)) 00368 return false; 00369 00370 DatabaseProcedureParameter p = (DatabaseProcedureParameter) other; 00371 00372 // first we check simple types 00373 if (!(p.columnType == columnType && p.dataType == dataType 00374 && p.precision == precision && p.length == length && p.scale == scale 00375 && p.radix == radix && p.nullable == nullable)) 00376 { 00377 return false; 00378 } 00379 00380 // now we compare object types 00381 if (!(name == null ? p.name == null : name.equals(p.name))) 00382 { 00383 return false; 00384 } 00385 00386 if (!(typeName == null ? p.typeName == null : typeName.equals(p.typeName))) 00387 { 00388 return false; 00389 } 00390 00391 return remarks == null ? p.remarks == null : remarks.equals(p.remarks); 00392 } 00393 00399 public String getXml() 00400 { 00401 StringBuffer info = new StringBuffer(); 00402 info.append("<" + DatabasesXmlTags.ELT_DatabaseProcedureColumn + " " 00403 + DatabasesXmlTags.ATT_name + "=\"" + name + "\"" + " " 00404 + DatabasesXmlTags.ATT_paramType + "=\"" 00405 + getColumnTypeFromInt(columnType) + "\"" + " " 00406 + DatabasesXmlTags.ATT_nullable + "=\"" + getNullFromInt(nullable) 00407 + "\"/>"); 00408 return info.toString(); 00409 } 00410 00411 }

CJDBCversion1.0.4に対してTue Oct 12 15:15:57 2004に生成されました。 doxygen 1.3.8