1 package in.co.daffodil.db.jdbc; 2 3 import java.sql.*; 4 import java.util.*; 5 6 44 45 public class DaffodilDBArray implements Array{ 46 String dataBaseTypeName; 47 HashMap sqlJavaMap; 48 Object values; 49 SQLInput sqlInput; 50 51 public DaffodilDBArray(Object values,String dataBaseTypeName,HashMap sqlJavaMap){ 52 this.values = values; 53 this.dataBaseTypeName = dataBaseTypeName; 54 this.sqlJavaMap = sqlJavaMap; 55 } 56 57 58 73 public String getBaseTypeName() throws SQLException{ 74 return dataBaseTypeName; 75 } 76 77 88 public int getBaseType() throws SQLException{ 89 return 0; 90 } 91 92 107 public Object getArray() throws SQLException{ 108 if(values == null) 109 return null; 110 return getJavaTypeArray(1,((byte[])values).length,sqlJavaMap); 111 } 112 113 132 public Object getArray(java.util.Map map) throws SQLException{ 133 if(values == null) 134 return null; 135 return getJavaTypeArray(1,((byte[])values).length,map); 136 } 137 138 154 public Object getArray(long index, int count) throws SQLException{ 155 return getJavaTypeArray(index,count,sqlJavaMap); 156 } 157 158 187 public Object getArray(long index, int count, java.util.Map map)throws SQLException{ 188 return getJavaTypeArray(index,count,map); 189 } 190 191 212 public ResultSet getResultSet () throws SQLException{ 213 if(values == null) 214 return null; 215 return getResultSet(1,((byte[])values).length); 216 } 217 218 245 public ResultSet getResultSet (java.util.Map map) throws SQLException{ 246 if(values == null) 247 return null; 248 return getResultSet(1,((byte[])values).length,map); 249 } 250 251 278 public ResultSet getResultSet(long index, int count) throws SQLException{ 279 if(values == null) 280 return null; 281 return getResultSet(index,count,sqlJavaMap); 282 } 283 284 317 public ResultSet getResultSet (long index, int count, java.util.Map map)throws SQLException{ 318 try{ 319 Object [] array = getJavaTypeArray(index,count,map); 320 if(array == null) 321 return null; 322 ResultSet resultSet = null; 323 for(int i =0 ; i< array.length;i++){ 324 } 325 return resultSet; 326 } catch (Exception e){ 327 e.printStackTrace(); 328 return null; 329 } 330 } 331 332 336 private Object [] getJavaTypeArray(long start,int count,Map map){ 337 try{ 338 if(values == null) 339 return null; 340 Object [] array = new Object [count]; 341 long i = start -1; 342 int j = 0; 343 for(i = start-1,j =0 ;j<count;i++,j++){ 344 array[j] = convertToJavaObject(sqlInput,dataBaseTypeName,map); 345 } 346 return array; 347 }catch (Exception e){ 348 e.printStackTrace(); 349 } 350 return null; 351 } 352 353 357 public Object convertToJavaObject(SQLInput stream,String typeName,Map map){ 358 try{ 359 Object element = ((Class )(sqlJavaMap.get(typeName))).newInstance(); 360 SQLData sqlData = (SQLData)(element); 361 sqlData.readSQL(sqlInput,dataBaseTypeName); 362 return element; 363 } catch (Exception e){ 364 e.printStackTrace(); 365 return null; 366 } 367 } 368 } 369 | Popular Tags |