summaryrefslogtreecommitdiff
path: root/src/main/java/com/p4square/ccbapi/LocalDateTimeXmlAdapter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/p4square/ccbapi/LocalDateTimeXmlAdapter.java')
-rw-r--r--src/main/java/com/p4square/ccbapi/LocalDateTimeXmlAdapter.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/main/java/com/p4square/ccbapi/LocalDateTimeXmlAdapter.java b/src/main/java/com/p4square/ccbapi/LocalDateTimeXmlAdapter.java
new file mode 100644
index 0000000..f6ee565
--- /dev/null
+++ b/src/main/java/com/p4square/ccbapi/LocalDateTimeXmlAdapter.java
@@ -0,0 +1,26 @@
+package com.p4square.ccbapi;
+
+import javax.xml.bind.annotation.adapters.XmlAdapter;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+
+/**
+ * XmlAdapter implementation to convert CCB dates to LocalDateTime.
+ *
+ * Note that the datetime format used by CCB is not ISO-8601 formatted.
+ */
+public class LocalDateTimeXmlAdapter extends XmlAdapter<String, LocalDateTime> {
+
+ private static final DateTimeFormatter FORMAT = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+
+ @Override
+ public LocalDateTime unmarshal(final String value) throws Exception {
+ return LocalDateTime.parse(value, FORMAT);
+ }
+
+ @Override
+ public String marshal(final LocalDateTime value) throws Exception {
+ return value.format(FORMAT);
+ }
+
+} \ No newline at end of file