общественный тип CancerTypePropertyEditor расширяет PropertyEditorSupport {
приватное dao CancerTypeDAO;
общественное CancerTypePropertyEditor (dao CancerTypeDAO, collectionType типа) {
супер (collectionType);
this.dao = dao;
}
@Override
setAsText публики пустое (текст шнура) бросает IllegalArgumentException {
Obj = getValue предмета ();
Список списка = obj (списка);
для (str шнура: text.split («, ")) {
list.add (dao.retrieveCancerType (Long.valueOf (str)));
}
}
@Override
общественное getAsText шнура () {
Stub метода // Автоматическ-произведенный TODO
возвращенное super.getAsText ();
}
}
В регуляторе:
@Override
защищенное пустое initBinder (запрос HttpServletRequest,
Исключение ходов связывателя ServletRequestDataBinder) {
super.initBinder (запрос, связыватель);
binder.registerCustomEditor (List.class, «cancerTypes»,
новое CancerTypePropertyEditor (getCancerTypeDao (),
List.class)); / новое CancerTypePropertyEditor ());
}
В CancerType POJO (проигнорируйте confusing перемеююый называя):
@Override
общественные булевские равные (anObject предмета) {
если (null == anObject) {, то
возвращенное ложное;
} еще если (это anObject ==) {, то
возвращенно true;
} еще если (instanceof CancerType anObject) {, то
окончательное CancerType aCountry = anObject (CancerType);
Длиннее aCountryId = aCountry.getId ();
если (aCountryId! = null) {
возвращенное aCountry.getId () .equals (удостоверение личности);
}
}
возвращенное ложное;
}
Бирка:
|