XMLAdapter を使用して、日付をマーシャリングおよびアンマーシャリングしています。アンマーシャラーで、REST サービスから提供されている形式を確認したいと考えています。フォーマットが間違っている場合は、独自の例外をスローしたいと考えています。ただし、expetion は食い尽くされており、アプリケーションは続行されます。解決策がValidationEventHandlerにあることは知っていますが、それを正確に使用する方法を理解することはできません。使い方の参考にしてください。私の XMLAdapter コードはこのようなものです
public class DateFormatAdapter extends XmlAdapter<String, Date> {
@Override
public String marshal(Date arg0) throws Exception {
return arg0.toString();
}
@Override
public Date unmarshal(String arg0) {
DateFormat df = new SimpleDateFormat("MM/dd/yyyy");
df.setLenient(false);
Date startDate = null;
try {
startDate = df.parse(arg0);
df.format(startDate);
} catch (ParseException e) {
// throw custom exception from here
}
return startDate;
}
}