summaryrefslogtreecommitdiff
path: root/container-compiler-plugin/src/main/java/io/trygvis/persistence/TypeHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'container-compiler-plugin/src/main/java/io/trygvis/persistence/TypeHandler.java')
-rw-r--r--container-compiler-plugin/src/main/java/io/trygvis/persistence/TypeHandler.java32
1 files changed, 32 insertions, 0 deletions
diff --git a/container-compiler-plugin/src/main/java/io/trygvis/persistence/TypeHandler.java b/container-compiler-plugin/src/main/java/io/trygvis/persistence/TypeHandler.java
index 72941f2..31eba4b 100644
--- a/container-compiler-plugin/src/main/java/io/trygvis/persistence/TypeHandler.java
+++ b/container-compiler-plugin/src/main/java/io/trygvis/persistence/TypeHandler.java
@@ -116,4 +116,36 @@ public abstract class TypeHandler {
return "new java.util.Date(" + rs + ".getTimestamp(" + i + ").getTime())";
}
}
+
+ public static class JodaDateTimeTypeHandler extends TypeHandler {
+ protected JodaDateTimeTypeHandler() {
+ super("TIMESTAMP", TIMESTAMP);
+ }
+
+ @Override
+ public String setter(int i, String expr) {
+ return "setTimestamp(" + i + ", new java.sql.Timestamp(" + expr + ".getTime()))";
+ }
+
+ @Override
+ public String getter(String rs, int i) {
+ return "new org.joda.time.DateTime(" + rs + ".getTimestamp(" + i + ").getTime())";
+ }
+ }
+
+ public static class UuidTypeHandler extends TypeHandler {
+ protected UuidTypeHandler() {
+ super("CHAR(36)", CHAR);
+ }
+
+ @Override
+ public String setter(int i, String expr) {
+ return "setString(" + i + ", " + expr + ".toString())";
+ }
+
+ @Override
+ public String getter(String rs, int i) {
+ return "java.util.UUID.fromString(" + rs + ".getString(" + i + "))";
+ }
+ }
}