From 12ba4161816700564a00676f915506d549177940 Mon Sep 17 00:00:00 2001 From: moparisthebest Date: Sun, 11 Jun 2017 20:25:53 -0400 Subject: [PATCH] Preserve parameter level annotations in generated source --- .../moparisthebest/jdbc/codegen/JdbcMapperProcessor.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/jdbcmapper/src/main/java/com/moparisthebest/jdbc/codegen/JdbcMapperProcessor.java b/jdbcmapper/src/main/java/com/moparisthebest/jdbc/codegen/JdbcMapperProcessor.java index 1ba6866..425624e 100644 --- a/jdbcmapper/src/main/java/com/moparisthebest/jdbc/codegen/JdbcMapperProcessor.java +++ b/jdbcmapper/src/main/java/com/moparisthebest/jdbc/codegen/JdbcMapperProcessor.java @@ -235,6 +235,7 @@ public class JdbcMapperProcessor extends AbstractProcessor { final int numParams = params.size(); int count = 0; for (final VariableElement param : params) { + writeAllParamAnnotations(w, param); w.write("final "); w.write(param.asType().toString()); w.write(' '); @@ -593,6 +594,12 @@ public class JdbcMapperProcessor extends AbstractProcessor { w.write(");\n"); } + private void writeAllParamAnnotations(final Writer w, final VariableElement param) throws IOException { + // todo: should this always be done for everything? allow turn off, exclude some annotations, or what? + for(final AnnotationMirror am : param.getAnnotationMirrors()) + w.append(am.toString()).append(' '); + } + private static TypeMirror getSqlParser(final JdbcMapper.Mapper mapper) { // ridiculous isn't it? try {