Bonjour,
Je souhaiterais afficher le contenu d'un bean à l'écran et ceci sans faire de références directe à ses propriétés qui sont succeptibles d'évoluer.
Dois je partir sur de l'introspection (si vous avez des liens efficace je suis prenneur) où sur un for collection ? (qui m'obligerais à recenser les dites propriétés dans un niveau d'abstraction supérieur)
Pour illustrer mon but voici un exemple :
Le bean
L'afficheur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 class PropertiesManager { private String couleurYeux = "Couleur des yeux : "; private String poids = "Poids : "; private String taille = "Taille : "; public PropertiesManager(String couleurYeux, String poids, String taille ){ this.couleurYeux += couleurYeux; this.poids += poids; this.taille += taille; } public String getCouleurYeux() { return couleurYeux; } public String getPoids() { return poids; } public String getTaille() { return taille; } }
L'output doit être
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public class AfficheManager{ public static void main(String... args){ PropertiesManager propMan = new PropertiesManager("marrons", "60", "1.70"); } public void afficherAnonymousBean(PropertiesManager propMan){ // Faire le code générique qui permettrait l'affichage de ce bean sans référence à ses propriétés } }
Couleur des yeux : marrons
Poids : 60
Taille : 1.70
Merci d'avance pour vos conseils
EDIT : je viens de tomber sur ce post qui pose la même problématique
http://www.developpez.net/forums/d62...nstance-objet/
Mais la solution préconisée par le modératuer me conviens à moitié (je suis un gros lourd je sais). Ainsi, si l'on utilise une liste stockant toutes les propriétés du bean le display deviens trivial pour la classe afficheur mais plus long à générer pour le créateur du bean (sur une classe à deux propriétés ça va mais pour un truc plus gros c'est lourd).
Partager