Créer un PropertyEditor generique
Bonjour,
J'utilise Spring MVC et possède beuacoups de beans maisons affichés dans mes formulaires. Pour éviter d'écrire un Editor pour chaque bean, je cherche à réaliser un editeur générique.
Je usi dans une application orienté donnée dans laquelle se trouvent des 'Managers' qui me permettent des acces CRUD sur mes beans. (Se sont en réalité des facades (design pattern) pour utiliser mes daos).
Une solution serait de créer un "bête" editor qui reçoit le manager approprié et qui utilise ce manager pour récupérer un bean par son id. Mais la généricité m'oblige à utiliser Object comme type de retour et je n'aime pas beaucoup ça. Il existe peut-être un méthode plus propre, encore pus générique..
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
public interface IdBeanManager {
// Je me retrouve avec un type de retour très large, je n'aime pas bcp ça.
public Object getObject(int id);
}
public class MonBeanManager implements IdBeanManager {
private MonBeanDao dao;
...
public Object getObject(int id) {
return dao.getBean(id);
}
}
public class GenericPropertyEditor extends PropertyEditor {
private IdBeanManager manager;
...
public Object getAstText(String text) {
try {
return manager.getObject(Integer.parseInt(text));
} catch (...) { .. }
}
} |
Je suppose ne pas être le seul à avoir ce besoin, je fais donc appel à votre expérience.
Merci et bonne année