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 }