Slide 46
Slide 46 text
Ԡ༻ : JSR 310ΛJAXBʹରԠͤͯ͞ΈΔ
public class LocalDateXmlAdapter extends!
XmlAdapter {!
!
@Override!
public LocalDate unmarshal(XMLGregorianCalendar value) throws Exception {!
int timezone = value.getTimezone();!
ZoneOffset offset = ZoneOffset.ofTotalSeconds(timezone * 60);!
return OffsetDateTime.of(value.getYear(), value.getMonth(),!
value.getDay(), 0, 0, 0, 0, offset).toLocalDate();!
}!
!
@Override!
public XMLGregorianCalendar marshal(LocalDate value) throws Exception {!
ZoneOffset offset = OffsetDateTime.now().getOffset();!
int timezone = offset.getTotalSeconds() / 60;!
return DatatypeFactory.newInstance().newXMLGregorianCalendarDate(!
value.getYear(), value.getMonthValue(), value.getDayOfMonth(),!
timezone);!
}!
!
}