package modele.dao; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.util.ArrayList; import java.util.HashMap; /** * conteneur pour ResultSet dans le cas d'un SELECT, * les valeurs des HashMap sont des "Object" pour gérer tous les types de données */ public class ResultObject { private final ArrayList> data = new ArrayList<>(); /** * copie du ResultSet dans une ArrayList composée d'HashMap * @param rs instance de ResultSet * @throws SQLException en cas d'erreur avec le ResultSet */ public ResultObject(ResultSet rs) throws SQLException { ResultSetMetaData metaData = rs.getMetaData(); int columnCount = metaData.getColumnCount(); while(rs.next()) { HashMap row = new HashMap<>(); for (int i = 1; i <= columnCount; i++) { row.put(metaData.getColumnName(i), rs.getObject(i)); } data.add(row); } } /** * à utiliser dans la boucle permettant de parcourir la liste * @return retourne la liste encapsulée */ public ArrayList> getData() { return data; } }