Bonjour, ma question est trés simple
est-ce que toutes(je dis bien toutes) les classes de l'API Java™ Platform Standard Ed. 6, sont conformes a la convention JavaBeans?
Version imprimable
Bonjour, ma question est trés simple
est-ce que toutes(je dis bien toutes) les classes de l'API Java™ Platform Standard Ed. 6, sont conformes a la convention JavaBeans?
Non.
Par exemple, toutes les classes n'implémentent pas Serializable.
merci djo.mos c plus convincant :)
parce que je ne sais pas si je me trompe, j'ai lu quelque part qu'un javabeans n'est pas forcement Serializable.
merci de m'éclairer
D'après mes souvenirs, peut-être inexacts, un javabean doit :
- implémenter Serializable
- avoir un constructeur public sans argument
- utiliser des getter/setter pour ses attributs en respectant le nom de l'attribut pour les noms de méthodes
donc je reformule ,
est-ce qu'un JavaBean est obligatoirement serializable?
Les propriété doivent avoir des getter et setter mais il n'est pas obligatoire que les Javabean soient constitués uniquement de propriétés il me semble.
Je suis plus certain s'ils doivent ou non être sérialisables mais c'est sur que l'API Java n'est pas à 100% constituée de Javabeans.
Il y a des classes qui n'ont pas de constructeur sans paramètre. Comme par exemple java.lang.Runtime.
Edit: Apres vérification les javabeans doivent bien être sérialisables
Il semblerait que oui.
http://java.sun.com/developer/online...s02/page2.html
Citation:
First of all, a Bean must implement the Serializable interface.
Et de toute façon cela servirait à quoi que toute l'API soit conforme à JavaBeans ?
Un truc intéressant dans la librairie commons-lang dans toutes les classes utilitaires :
Vraiment utile ?Code:
1
2
3
4
5
6
7
8
9
10
11 /** * <p>ArrayUtils instances should NOT be constructed in standard programming. * Instead, the class should be used as <code>ArrayUtils.clone(new int[] {2})</code>.</p> * * <p>This constructor is public to permit tools that require a JavaBean instance * to operate.</p> */ public ArrayUtils() { super(); }
Vu que cette classe n'est contituée que de méthodes utilitaire statique, je ne vois en effet pas l'interet de la chose.
De rien, il ne te reste plus qu'à ajouter le tag "Résolu" ;)