la classe publique CancerTypePropertyEditor prolonge PropertyEditorSupport {
dao privé de CancerTypeDAO ;
CancerTypePropertyEditor public (dao de CancerTypeDAO, collectionType de classe) {
superbe (collectionType) ;
this.dao = dao ;
}
@Override
le setAsText vide de public (le texte de corde) jette IllegalArgumentException {
Obj = getValue d'objet () ;
Liste de liste = obj (de liste) ;
pour (streptocoque de corde : text.split (« , ")) {
list.add (dao.retrieveCancerType (Long.valueOf (streptocoque)));
}
}
@Override
getAsText public de corde () {
Moignon de méthode Automatique-produit par TODO de //
super.getAsText de retour () ;
}
}
Dans le contrôleur :
@Override
initBinder vide protégé (demande de HttpServletRequest,
Exception de jets de reliure de ServletRequestDataBinder) {
super.initBinder (demande, reliure) ;
binder.registerCustomEditor (List.class, « cancerTypes »,
nouveau CancerTypePropertyEditor (getCancerTypeDao (),
List.class)); / nouveau CancerTypePropertyEditor ());
}
Dans CancerType POJO (ignorer la variable embrouillante appelant) :
@Override
égales booléennes publiques (anObject d'objet) {
si (nulle de == d'anObject) {
faux de retour ;
} autrement si (cet anObject de ==) {
de retour rectifier ;
} autrement si (instanceof CancerType d'anObject) {
CancerType final aCountry = anObject (de CancerType) ;
Long aCountryId = aCountry.getId () ;
si (aCountryId ! = nulle) {
aCountry.getId de retour () .equals (identification) ;
}
}
faux de retour ;
}
L'étiquette :
|