summaryrefslogtreecommitdiff
path: root/src/main/java/com/p4square/ccbapi/LocalDateTimeXmlAdapter.java
diff options
context:
space:
mode:
authorJesse Morgan <jesse@jesterpm.net>2016-03-19 02:05:33 -0700
committerJesse Morgan <jesse@jesterpm.net>2016-03-19 02:07:24 -0700
commitb9eb1329a6dbec7b75c21d8e0eb13134121db6bb (patch)
treefec73ab32ff625c304513c24e864809845eede1a /src/main/java/com/p4square/ccbapi/LocalDateTimeXmlAdapter.java
Initial commit for the CCB API Client.
The client currently supports the following APIs: * individual_profiles * individual_profile_from_id * individual_profile_from_login_password * individual_profile_from_micr * custom_field_labels
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