Extend JodaTime integration

This is not perfect since it currently ignores output writer paramter
and assumes clojure.data.json but it is a significantly better choice than
forcing every clojure.data.json user to use JodaTime.
This commit is contained in:
Michael S. Klishin 2011-10-13 23:47:36 +04:00
parent be4c88f7d4
commit 8b22e9eef1

View file

@ -1,6 +1,7 @@
(ns monger.joda-time
(:import (org.joda.time DateTime DateTimeZone))
(:use [monger.conversion]))
(:use [monger.conversion])
(:require [clojure.data.json :as json]))
;;
;; API
@ -10,3 +11,16 @@
org.joda.time.DateTime
(to-db-object [^org.joda.time.DateTime input]
(to-db-object (.toDate input))))
(extend-protocol ConvertFromDBObject
java.util.Date
(from-db-object [^java.util.Date input keywordize]
(org.joda.time.DateTime. input)))
(extend-protocol json/Write-JSON
org.joda.time.DateTime
(write-json [^org.joda.time.DateTime object out escape-unicode?]
;; TODO: use .printTo(Writer) here instead of ignoring
;; out parameter. MK.
(.print (org.joda.time.format.ISODateTimeFormat/dateTime) object)))