1 package com.imcode.db.handlers;
2
3 import java.sql.ResultSet;
4 import java.sql.SQLException;
5 import java.util.List;
6 import java.util.ArrayList;
7 import java.lang.reflect.Array;
8
9 public class ObjectArrayHandler extends RowTransformingHandler {
10
11 public ObjectArrayHandler(RowTransformer rowTransformer) {
12 super(rowTransformer) ;
13 }
14
15 public Object handle(ResultSet resultSet) throws SQLException {
16 List result = new ArrayList();
17 while ( resultSet.next() ) {
18 result.add(( (RowTransformingHandler) this ).rowTransformer.createObjectFromResultSetRow(resultSet));
19 }
20 Class resultArrayType = ( (RowTransformingHandler) this ).rowTransformer.getClassOfCreatedObjects();
21 return result.toArray((Object[]) Array.newInstance(resultArrayType, result.size()));
22 }
23 }