From f0a9ad191465bba0e7ddaea700d9667be699fec3 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Sun, 4 Aug 2013 19:14:14 +0200 Subject: wip o Adding support for int and long types. --- .../java/io/trygvis/persistence/TypeHandler.java | 63 ++++++---------------- 1 file changed, 16 insertions(+), 47 deletions(-) (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 31eba4b..dfb2be3 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 @@ -10,10 +10,12 @@ import static java.sql.Types.*; public abstract class TypeHandler { private final String sqlType; private final int type; + public final boolean nullable; - protected TypeHandler(String sqlType, int type) { + protected TypeHandler(String sqlType, int type, boolean nullable) { this.sqlType = sqlType; this.type = type; + this.nullable = nullable; } abstract String setter(int i, String expr); @@ -48,51 +50,28 @@ public abstract class TypeHandler { // // ----------------------------------------------------------------------- - public static class IntTypeHandler extends TypeHandler { - public IntTypeHandler() { - super("INTEGER", INTEGER); - } + public static class PrimitiveTypeHandler extends TypeHandler { + private final String accessor; - @Override - public String setter(int i, String expr) { - return "setInt(" + i + ", " + expr + ")"; - } - - @Override - public String getter(String rs, int i) { - return rs + ".getInt(" + i + ")"; - } - } - - public static class LongTypeHandler extends TypeHandler { - protected LongTypeHandler() { - super("BIGINT", BIGINT); + public PrimitiveTypeHandler(String sqlType, int type, String accessor, boolean nullable) { + super(sqlType, type, nullable); + this.accessor = accessor; } @Override public String setter(int i, String expr) { - return "setLong(" + i + ", " + expr + ")"; + return "set" + accessor + "(" + i + ", " + expr + ")"; } @Override public String getter(String rs, int i) { - return rs + ".getLong(" + i + ")"; + return rs + ".get" + accessor + "(" + i + ")"; } } - public static class StringTypeHandler extends TypeHandler { + public static class StringTypeHandler extends PrimitiveTypeHandler { protected StringTypeHandler() { - super(null, VARCHAR); - } - - @Override - public String setter(int i, String expr) { - return "setString(" + i + ", " + expr + ")"; - } - - @Override - public String getter(String rs, int i) { - return rs + ".getString(" + i + ")"; + super(null, VARCHAR, "String", true); } @Override @@ -103,7 +82,7 @@ public abstract class TypeHandler { public static class DateTypeHandler extends TypeHandler { protected DateTypeHandler() { - super("TIMESTAMP", TIMESTAMP); + super("TIMESTAMP", TIMESTAMP, true); } @Override @@ -119,7 +98,7 @@ public abstract class TypeHandler { public static class JodaDateTimeTypeHandler extends TypeHandler { protected JodaDateTimeTypeHandler() { - super("TIMESTAMP", TIMESTAMP); + super("TIMESTAMP", TIMESTAMP, true); } @Override @@ -133,19 +112,9 @@ public abstract class TypeHandler { } } - public static class UuidTypeHandler extends TypeHandler { + public static class UuidTypeHandler extends PrimitiveTypeHandler { 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 + "))"; + super("CHAR(36)", CHAR, "String", true); } } } -- cgit v1.2.3