Использование Commons beanUtils Я хотел бы знать, как попросить любой конвертер, скажем, Dateconverter игнорировать нулевые значения и использовать null по умолчанию. В качестве примера рассмотрим публичный класс,
public class X {
private Date date1;
private String string1;
//add public getters and setters
}
и мой конвертер-тест как,
public class Apache {
@Test
public void testSimple() throws Exception {
X x1 = new X(), x2 = new X();
x1.setString1("X");
x1.setDate1(null);
org.apache.commons.beanutils.BeanUtils.copyProperties(x2, x1);
//throws ConversionException
System.out.println(x2.getString1());
System.out.println(x2.getDate1());
}
}
Выше приведено NPE, так как дата оказывается нулевой. Для меня это выглядит очень примитивным сценарием, который должен обрабатываться по умолчанию (например, я ожидаю, что x2 будет иметь нулевое значение для date1). Доко говорит мне, что я могу попросить конвертер сделать это. Может кто-нибудь указать мне, как лучше всего это сделать?
Я не хочу запоминать конвертер и isUseDefault (), потому что тогда я должен сделать это для всех Date, Enum и многих других конвертеров!