Commons beanUtilsの使用どのコンバーターにも、Dateconverterにnull値を無視し、デフォルトとしてnullを使用するように依頼する方法を知りたいです。例として、パブリッククラスを考えてみましょう。
public class X {
private Date date1;
private String string1;
//add public getters and setters
}
そして私のconvertertestは、
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());
}
}
日付がたまたまnullであるため、上記はNPEをスローします。これは私には非常に原始的なシナリオに見えますが、デフォルトで処理する必要があります(たとえば、x2のdate1の値はnullであると予想されます)。ドコは私がコンバーターにこれをするように頼むことができると私に言います。誰かがこれを行うための最良の方法について私に指摘できますか?
ConverterとisUseDefault()をtrueにしたくないのは、すべてのDate、Enum、および他の多くのコンバーターに対してそれを実行する必要があるためです。