diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2013-08-03 12:33:39 +0200 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2013-08-03 12:33:39 +0200 |
commit | 34137b599dbea13c94224dff2955376b1394dbc9 (patch) | |
tree | 889b4c334014965e451f8d9b308b952a13b4d8d5 /container-compiler-plugin/src/main/java/io/trygvis/persistence/GeneratorSupport.java | |
parent | 4e794b5ed03e5020770becb068d11e6838feec64 (diff) | |
download | container-playground-34137b599dbea13c94224dff2955376b1394dbc9.tar.gz container-playground-34137b599dbea13c94224dff2955376b1394dbc9.tar.bz2 container-playground-34137b599dbea13c94224dff2955376b1394dbc9.tar.xz container-playground-34137b599dbea13c94224dff2955376b1394dbc9.zip |
wip
Diffstat (limited to 'container-compiler-plugin/src/main/java/io/trygvis/persistence/GeneratorSupport.java')
-rw-r--r-- | container-compiler-plugin/src/main/java/io/trygvis/persistence/GeneratorSupport.java | 41 |
1 files changed, 41 insertions, 0 deletions
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 new file mode 100644 index 0000000..7ac30d9 --- /dev/null +++ b/container-compiler-plugin/src/main/java/io/trygvis/persistence/GeneratorSupport.java @@ -0,0 +1,41 @@ +package io.trygvis.persistence; + +import javax.lang.model.element.Element; +import javax.lang.model.element.VariableElement; +import javax.lang.model.type.TypeMirror; +import java.util.HashMap; +import java.util.Map; + +public class GeneratorSupport { + + private final Map<String, TypeHandler> primitiveTypeHandlers = new HashMap<>(); + private final Map<String, TypeHandler> 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()); + + primitiveTypeHandlers.putAll(typeHandlers); + } + + public void addTypeHandler(String type, TypeHandler typeHandler) { + typeHandlers.put(type, typeHandler); + } + + public TypeHandler typeHandler(Element element) { + String type = element.asType().toString(); + TypeHandler typeHandler = typeHandlers.get(type); + if (typeHandler == null) + throw new RuntimeException("Unsupported field type: " + type); + return typeHandler; + } + + public boolean isPrimitive(TypeMirror type) { + return primitiveTypeHandlers.containsKey(type.toString()); + } + + public boolean hasTypeHandler(TypeMirror type) { + return typeHandlers.containsKey(type.toString()); + } +} |