From 054cfb131292893d100a43ea2cb20c591c17c810 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Sat, 3 Aug 2013 16:39:50 +0200 Subject: wip --- .../src/main/java/io/trygvis/persistence/EntityMirror.java | 2 +- .../src/main/java/io/trygvis/persistence/GeneratorSupport.java | 8 +++++--- .../src/main/java/io/trygvis/persistence/TypeHandler.java | 7 +++++++ 3 files changed, 13 insertions(+), 4 deletions(-) (limited to 'container-compiler-plugin/src/main/java/io/trygvis/persistence') diff --git a/container-compiler-plugin/src/main/java/io/trygvis/persistence/EntityMirror.java b/container-compiler-plugin/src/main/java/io/trygvis/persistence/EntityMirror.java index 7b45145..41ae1d4 100644 --- a/container-compiler-plugin/src/main/java/io/trygvis/persistence/EntityMirror.java +++ b/container-compiler-plugin/src/main/java/io/trygvis/persistence/EntityMirror.java @@ -62,7 +62,7 @@ public class EntityMirror { body.add(" stmt.executeUpdate();"); body.add("}"); - g.addMethod(body, TypeRef.VOID, "insertInto", con, object). + g.addStaticMethod(body, TypeRef.VOID, "insertInto", con, object). exception(g.addImport(SQLException.class)); } } diff --git a/container-compiler-plugin/src/main/java/io/trygvis/persistence/GeneratorSupport.java b/container-compiler-plugin/src/main/java/io/trygvis/persistence/GeneratorSupport.java index d3293c3..379f6f6 100644 --- a/container-compiler-plugin/src/main/java/io/trygvis/persistence/GeneratorSupport.java +++ b/container-compiler-plugin/src/main/java/io/trygvis/persistence/GeneratorSupport.java @@ -2,6 +2,7 @@ package io.trygvis.persistence; import javax.lang.model.element.Element; import javax.lang.model.type.TypeMirror; +import java.util.Date; import java.util.HashMap; import java.util.Map; @@ -11,9 +12,10 @@ public class GeneratorSupport { private final Map typeHandlers = new HashMap<>(); { - typeHandlers.put("java.lang.Integer", new TypeHandler.IntTypeHandler()); - typeHandlers.put("java.lang.Long", new TypeHandler.LongTypeHandler()); - typeHandlers.put("java.util.Date", new TypeHandler.DateTypeHandler()); + typeHandlers.put(Integer.class.getName(), new TypeHandler.IntTypeHandler()); + typeHandlers.put(Long.class.getName(), new TypeHandler.LongTypeHandler()); + typeHandlers.put(String.class.getName(), new TypeHandler.StringTypeHandler()); + typeHandlers.put(Date.class.getName(), new TypeHandler.DateTypeHandler()); primitiveTypeHandlers.putAll(typeHandlers); } 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 252f4b4..1d7d424 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 @@ -17,6 +17,13 @@ public interface TypeHandler { } } + public static class StringTypeHandler implements TypeHandler { + @Override + public String resultSetSetter(int i, String o, FieldMirror field) { + return "setString(" + i + ", " + o + "." + field.javaName + ")"; + } + } + public static class DateTypeHandler implements TypeHandler { @Override public String resultSetSetter(int i, String o, FieldMirror field) { -- cgit v1.2.3