hier, j'ai craqué devant ce travail (!) et je me suis créé une petit classe qui simulate la persistance sur un objet. les données sont stockées dans une HasMap en statique, cela permet de lire, mettre à jour, supprimer et ajouter des enregistrements à cette liste, comme si on était connecté à une base de données.
voici le code de cette classe
public class UserDAO {
// this hashmap simulate a db table
private static Map users = new HashMap();
// id
private static int cpt_id = 1;
// an instance of the class
private static UserDAO instance;
private UserDAO() {
// initialize the table with a record
User user = new User();
user.setId(cpt_id);
user.setCode("AAAAA");
user.setFirstname("olivier");
user.setLastname("lemoigne");
user.setBirthday(new GregorianCalendar(1967, 10, 31).getTime());
users.put(new Integer(cpt_id), user);
}
public static UserDAO getInstance() {
if (null == instance) {
instance = new UserDAO();
}
return instance;
}
public static List findAll() {
List results = new ArrayList();
//loop through the map
for(Map.Entry entry: users.entrySet())
results.add(entry.getValue());
return results;
}
public static int create(User user){
user.setId(++cpt_id);
users.put(new Integer(user.getId()), user);
return user.getId();
}
public static void update(User user){
users.put(new Integer(user.getId()), user);
}
public static void delete(int id){
users.remove(new Integer(id));
}
public static User findById(int id){
return users.get(new Integer(id));
}
}