Le menu
À retenir
Outils
- Convertisseur de code source en HTML
- Générateur de lien en (x)HTML
- Traduction Français-Esperanto online
Vie pratique
Portfolio
Présidentielles
Culture
- Respect des droits d'auteurs et droits voisins — Refus des Mesures Techniques de Protection (MTP)
- Licence globale : finalement je suis contre...
- Lettre à la SACEM : Réaction par rapport au projet de loi DADVSI
- Reprenons en main la culture !
- Gestion Numérique des droits (DRM) : une question de confiance
- Gestion Numérique des droits (DRM) : une question de confiance (2)
Archives
- Septembre 2008
- Aout 2008
- Juillet 2008
- Juin 2008
- Mai 2008
- Avril 2008
- Mars 2008
- Février 2008
- Janvier 2008
- Décembre 2007
- Novembre 2007
- Octobre 2007
- Septembre 2007
- Aout 2007
- Juillet 2007
- Juin 2007
- Mai 2007
- Avril 2007
- Mars 2007
- Février 2007
- Janvier 2007
- Décembre 2006
- Novembre 2006
- Octobre 2006
- Septembre 2006
- Aout 2006
- Juillet 2006
- Juin 2006
- Mai 2006
- Avril 2006
- Mars 2006
- Février 2006
- Janvier 2006
- Décembre 2005
- Novembre 2005
- Octobre 2005
- Septembre 2005
- Aout 2005
- Juillet 2005
- Juin 2005
- Mai 2005
- Avril 2005
- Mars 2005
- Février 2005
- Janvier 2005
- Décembre 2004
- Novembre 2004
- Octobre 2004
Spornikethon
- Mes créations vous plaisent ?
- Vous voulez me soutenir financièrement ?
- Cliquez sur un des boutons ci-dessous selon le montant du dons.
- Merci !
Rouleaux de blogs
Mes préférés
Les amis
- Les bla-blas de Chibi
- Lysel
- Orpheelin
- Nae-chan in Psycholand
- Circée
- Faery Book
- Les bijoux de Hime-Decco
Divers
Mes liens
- Non à la brevetabilité des logiciels en Europe
- Promotion d'artistes proposant de la musique légale et gratuite à télécharger
- Associations pour le Maintien d’une Agriculture Paysanne
- La Bible
- Wikipédia
- Le Trésor de la Langue Française Informatisé
- Liste prête à l'emploi pour Adblock
- Partitions pour guitare classique
- Forum francophone pour les collectionneurs et créateurs de poupées
- Association sportive et culturelle du 13ème arrondissement
Bombardement Google
Modèle de code Java pour une propriété de type collection
Le 13 Mars 2008 à 12:08
Habituellement, les accesseurs en écriture aux propriétés d'un JavaBean sont implémentés à l'aide d'une simple affectation. Lorsque le propriété est un Objet, on a donc à envisager le cas d'une valeur nulle. Cela peut avoir son utilité, mais quand la propriété est une collection de sous-objet, la valeur nulle est généralement plus une gêne qu'un choix de conception : avant tout traitement sur les élément de la liste ou ses propriété, il faut tester qu'elle n'est pas nulle, alors que d'un point de vue fonctionnel cette nullité n'a aucun sens : ce qui a du sens, c'est le contenu de la liste -ou le fait que la liste soit vide-.
Dans ce cas, il faut que les accesseurs de la propriété soit implémenté de telle sorte que la non nullité soit garantie.
Deux approches sont possible : soit la classe est responsable de la gestion de la collection, et c'est l'accesseur en écriture qui devra remplacer le contenu de la collection interne par celui de la collection fournie.
Soit on veut une simple garantie de non nullité, car ce sont les traitements qui veulent changer la collection qui ont la responsabilité du choix de l'implémentation et de la construction de la nouvelle collection.
Licence d'utilisation
Ce code est diffusé selon les termes de la licence GNU GPL dans sa version 3
Garantir la non nullité
import java.util.HashSet; import java.util.Set; /**Démonstration d'une propriété de type Collection. * Ici, la classe s'assure simplement que la propriété retournée est non nulle. * * (c)David SPORN * Ce code est diffusé selon les terme de la licence GPL version 3. */ public class DemoClass { private Set myDatas = new HashSet() ; public Set getDatas() { if (null == myDatas) { myDatas = new HashSet() ; } return myDatas; } public void setDatas(Set datas) { myDatas = datas ; } }
Gérer la collection
import java.util.HashSet; import java.util.Set; /**Démonstration d'une propriété de type Collection. * Ici, la classe est en charge de la gestion de la collection interne. * * (c)David SPORN * Ce code est diffusé selon les terme de la licence GPL version 3. */ public class DemoClass { private Set myDatas = new HashSet() ; public Set getDatas() { return myDatas; } public void setDatas(Set datas) { if (null == datas) { myDatas.clear() ; } else { if (datas != myDatas ) { myDatas.clear() ; myDatas.addAll(datas) ; } } } }