Besoin d'un "setteur" générique ... :s - Java - Programmation
Marsh Posté le 27-08-2006 à 03:36:31
Bonjour,
Deux remarques préalables :
(1) à moins d'être un programmeur averti qui sait ce qu'il fait, recourir à de telles méthodes mettant en jeu l'introspection cache souvent un réel problème dans la conception de l'application ;
(2) il peut paraître inhabituel de changer directement un champ à l'intérieur de l'objet, alors qu'on utilise souvent des "setters" monObjet.setMonAttribute(new Value).
Ceci étant dit, si j'ai bien compris ce que tu demandes, cela se résume à une ligne :
Code :
|
Ci-dessous un programme de démonstration.
Nicolas
Code :
|
Marsh Posté le 27-08-2006 à 04:33:32
L'api Common BeanUtils est la pour ca.
BeanUtils
static void setProperty(java.lang.Object bean, java.lang.String name, java.lang.Object value)
Set the specified property value, performing type conversions as required to conform to the type of the destination property.
Marsh Posté le 27-08-2006 à 15:58:48
Merci pour la réponse c'est exactement ce que je recherchais
Je te rassure Nico_75 cela ne vient pas d'un défaut de conception, je sais parfaitement ce que je fais en touchant à cela
merci
Marsh Posté le 27-08-2006 à 00:45:37
Bonjour,
Je cherche à réaliser une fonction en java qui prend en entrée :
- un objet quelconque ;
- un nom de dattribut sous forme de String (correspondant à un attribut de lobjet) ;
- une valeur
Et qui set lattribut avec la valeur passée en paramètre.
Je souhaiterais que ma fonction ait pour prototype :
public void GenericSet (Object obj, String attribut, String value)
{
// Ici on set lattribut attribut de "obj" avec la valeur value
}
Je me creuse la tête mais je ne vois pas trop comment faire concrètement