From 6d4c6960e69b53c124bd84beb3d008bd5a4bb319 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Sun, 4 Aug 2013 18:50:18 +0200 Subject: wip o Adding Joda time's DateTime and UUID. o Registering @SequenceGenerator's on fields and getters. o Skipping static methods. o Generating SQL to drop sequences. --- .../java/io/trygvis/persistence/TypeHandler.java | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'container-compiler-plugin/src/main/java/io/trygvis/persistence/TypeHandler.java') 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 + "))"; + } + } } -- cgit v1.2.3