diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2013-08-04 18:50:18 +0200 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2013-08-04 18:50:18 +0200 |
commit | 6d4c6960e69b53c124bd84beb3d008bd5a4bb319 (patch) | |
tree | 1bd812b044d35b629ac2b49f4910b28cfdc29a12 /container-compiler-plugin/src/main/java/io/trygvis/persistence/TypeHandler.java | |
parent | 381c368b8907640bdd7cd81db2294724e082a119 (diff) | |
download | container-playground-6d4c6960e69b53c124bd84beb3d008bd5a4bb319.tar.gz container-playground-6d4c6960e69b53c124bd84beb3d008bd5a4bb319.tar.bz2 container-playground-6d4c6960e69b53c124bd84beb3d008bd5a4bb319.tar.xz container-playground-6d4c6960e69b53c124bd84beb3d008bd5a4bb319.zip |
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.
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.java | 32 |
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 + "))"; + } + } } |