View Javadoc

1   package com.imcode.db.handlers;
2   
3   import org.apache.commons.dbutils.ResultSetHandler;
4   
5   import java.lang.reflect.Array;
6   import java.sql.ResultSet;
7   import java.sql.SQLException;
8   import java.util.ArrayList;
9   import java.util.List;
10  
11  public class ObjectArrayResultSetHandler implements ResultSetHandler {
12  
13      private ObjectFromRowFactory objectFromRowFactory ;
14  
15      public ObjectArrayResultSetHandler(ObjectFromRowFactory objectFromRowFactory) {
16          this.objectFromRowFactory = objectFromRowFactory;
17      }
18  
19      public Object handle(ResultSet resultSet) throws SQLException {
20          List result = new ArrayList();
21          while ( resultSet.next() ) {
22              result.add(objectFromRowFactory.createObjectFromResultSetRow(resultSet));
23          }
24          Class resultArrayType = objectFromRowFactory.getClassOfCreatedObjects();
25          return result.toArray((Object[]) Array.newInstance(resultArrayType, result.size()));
26      }
27  }