diff options
Diffstat (limited to 'src/modele/dao/ResultObject.java')
-rw-r--r-- | src/modele/dao/ResultObject.java | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/modele/dao/ResultObject.java b/src/modele/dao/ResultObject.java new file mode 100644 index 0000000..7f91824 --- /dev/null +++ b/src/modele/dao/ResultObject.java | |||
@@ -0,0 +1,46 @@ | |||
1 | package modele.dao; | ||
2 | |||
3 | import java.sql.ResultSet; | ||
4 | import java.sql.ResultSetMetaData; | ||
5 | import java.sql.SQLException; | ||
6 | import java.util.ArrayList; | ||
7 | import java.util.HashMap; | ||
8 | |||
9 | /** | ||
10 | * conteneur pour ResultSet dans le cas d'un SELECT, | ||
11 | * les valeurs des HashMap sont des "Object" pour gérer tous les types de données | ||
12 | */ | ||
13 | public class ResultObject | ||
14 | { | ||
15 | private final ArrayList<HashMap<String, Object>> data = new ArrayList<>(); | ||
16 | |||
17 | /** | ||
18 | * copie du ResultSet dans une ArrayList composée d'HashMap | ||
19 | * @param rs instance de ResultSet | ||
20 | * @throws SQLException en cas d'erreur avec le ResultSet | ||
21 | */ | ||
22 | public ResultObject(ResultSet rs) throws SQLException | ||
23 | { | ||
24 | ResultSetMetaData metaData = rs.getMetaData(); | ||
25 | int columnCount = metaData.getColumnCount(); | ||
26 | |||
27 | while(rs.next()) | ||
28 | { | ||
29 | HashMap<String, Object> row = new HashMap<>(); | ||
30 | for (int i = 1; i <= columnCount; i++) | ||
31 | { | ||
32 | row.put(metaData.getColumnName(i), rs.getObject(i)); | ||
33 | } | ||
34 | data.add(row); | ||
35 | } | ||
36 | } | ||
37 | |||
38 | /** | ||
39 | * à utiliser dans la boucle permettant de parcourir la liste | ||
40 | * @return retourne la liste encapsulée | ||
41 | */ | ||
42 | public ArrayList<HashMap<String, Object>> getData() | ||
43 | { | ||
44 | return data; | ||
45 | } | ||
46 | } | ||