1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.dbutils.handlers;
18
19 import java.sql.ResultSet;
20 import java.sql.SQLException;
21
22 import org.apache.commons.dbutils.RowProcessor;
23
24 /**
25 * <code>ResultSetHandler</code> implementation that converts a
26 * <code>ResultSet</code> into a <code>List</code> of <code>Map</code>s.
27 * This class is thread safe.
28 *
29 * @see org.apache.commons.dbutils.ResultSetHandler
30 */
31 public class MapListHandler extends GenericListHandler {
32
33 /**
34 * The RowProcessor implementation to use when converting rows
35 * into Maps.
36 */
37 private RowProcessor convert = ArrayHandler.ROW_PROCESSOR;
38
39 /**
40 * Creates a new instance of MapListHandler using a
41 * <code>BasicRowProcessor</code> for conversion.
42 */
43 public MapListHandler() {
44 super();
45 }
46
47 /**
48 * Creates a new instance of MapListHandler.
49 *
50 * @param convert The <code>RowProcessor</code> implementation
51 * to use when converting rows into Maps.
52 */
53 public MapListHandler(RowProcessor convert) {
54 super();
55 this.convert = convert;
56 }
57
58 /**
59 * Converts the <code>ResultSet</code> row into a <code>Map</code> object.
60 *
61 * @return A <code>Map</code>, never null.
62 *
63 * @throws SQLException if a database access error occurs
64 *
65 * @see org.apache.commons.dbutils.handlers.GenericListHandler#handle(ResultSet)
66 */
67 protected Object handleRow(ResultSet rs) throws SQLException {
68 return this.convert.toMap(rs);
69 }
70
71 }