Skip to content

Commit 1744b95

Browse files
committed
#3 - Only add @generated if available
1 parent 291191a commit 1744b95

File tree

4 files changed

+23
-5
lines changed

4 files changed

+23
-5
lines changed

src/main/java/io/dinject/javalin/generator/BeanReader.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,12 @@ class BeanReader {
2828

2929
private final Set<String> importTypes = new TreeSet<>();
3030

31-
BeanReader(TypeElement beanType) {
31+
BeanReader(TypeElement beanType, ProcessingContext ctx) {
3232
this.beanType = beanType;
3333
this.roles = Util.findRoles(beanType);
34-
35-
importTypes.add(Constants.GENERATED);
34+
if (ctx.isGeneratedAvailable()) {
35+
importTypes.add(Constants.GENERATED);
36+
}
3637
importTypes.add(Constants.SINGLETON);
3738
importTypes.add(Constants.API_BUILDER);
3839
importTypes.add(Constants.WEB_ROUTES);

src/main/java/io/dinject/javalin/generator/ControllerRouteWriter.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,9 @@ private void writeClassEnd() {
7171

7272
private void writeClassStart() {
7373

74-
writer.append(Constants.AT_GENERATED).eol();
74+
if (ctx.isGeneratedAvailable()) {
75+
writer.append(Constants.AT_GENERATED).eol();
76+
}
7577
writer.append("@Singleton").eol();
7678
writer.append("public class ").append(shortName).append("$route implements WebRoutes {").eol().eol();
7779

src/main/java/io/dinject/javalin/generator/ProcessingContext.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,33 @@
44
import javax.annotation.processing.Messager;
55
import javax.annotation.processing.ProcessingEnvironment;
66
import javax.lang.model.element.Element;
7+
import javax.lang.model.util.Elements;
78
import javax.tools.Diagnostic;
89
import javax.tools.JavaFileObject;
910
import java.io.IOException;
1011

12+
import static io.dinject.javalin.generator.Constants.GENERATED;
13+
1114
class ProcessingContext {
1215

1316
private final Messager messager;
1417
private final Filer filer;
18+
private final Elements elementUtils;
19+
private final boolean generatedAvailable;
1520

1621
ProcessingContext(ProcessingEnvironment env) {
1722
this.messager = env.getMessager();
1823
this.filer = env.getFiler();
24+
this.elementUtils = env.getElementUtils();
25+
this.generatedAvailable = isTypeAvailable(GENERATED);
26+
}
27+
28+
private boolean isTypeAvailable(String canonicalName) {
29+
return null != elementUtils.getTypeElement(canonicalName);
30+
}
31+
32+
boolean isGeneratedAvailable() {
33+
return generatedAvailable;
1934
}
2035

2136
void logError(Element e, String msg, Object... args) {

src/main/java/io/dinject/javalin/generator/Processor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment
4747

4848
private void writeControllerAdapter(Element controller) {
4949
if (controller instanceof TypeElement) {
50-
BeanReader reader = new BeanReader((TypeElement) controller);
50+
BeanReader reader = new BeanReader((TypeElement) controller, processingContext);
5151
reader.read();
5252
try {
5353
ControllerRouteWriter writer = new ControllerRouteWriter(reader, processingContext);

0 commit comments

Comments
 (0)