Skip to content

Commit 813c97d

Browse files
committed
use singleton
1 parent 5f46ea5 commit 813c97d

File tree

7 files changed

+22
-12
lines changed

7 files changed

+22
-12
lines changed

http-generator-core/src/main/java/io/avaje/http/generator/core/BaseProcessor.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,23 @@
11
package io.avaje.http.generator.core;
22

3-
import io.avaje.http.api.Controller;
4-
import io.swagger.v3.oas.annotations.OpenAPIDefinition;
5-
import io.swagger.v3.oas.annotations.tags.Tag;
6-
import io.swagger.v3.oas.annotations.tags.Tags;
3+
import java.io.IOException;
4+
import java.util.LinkedHashSet;
5+
import java.util.Set;
76

87
import javax.annotation.processing.AbstractProcessor;
98
import javax.annotation.processing.ProcessingEnvironment;
109
import javax.annotation.processing.RoundEnvironment;
10+
import javax.annotation.processing.SupportedOptions;
1111
import javax.lang.model.SourceVersion;
1212
import javax.lang.model.element.Element;
1313
import javax.lang.model.element.TypeElement;
14-
import java.io.IOException;
15-
import java.util.LinkedHashSet;
16-
import java.util.Set;
1714

15+
import io.avaje.http.api.Controller;
16+
import io.swagger.v3.oas.annotations.OpenAPIDefinition;
17+
import io.swagger.v3.oas.annotations.tags.Tag;
18+
import io.swagger.v3.oas.annotations.tags.Tags;
19+
20+
@SupportedOptions({"useJavax"})
1821
public abstract class BaseProcessor extends AbstractProcessor {
1922

2023
protected ProcessingContext ctx;

http-generator-core/src/main/java/io/avaje/http/generator/core/Constants.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ public class Constants {
1010

1111
static final String OPENAPIDEFINITION = "io.swagger.v3.oas.annotations.OpenAPIDefinition";
1212

13-
static final String COMPONENT = "io.avaje.inject.Component";
13+
static final String SINGLETON = "jakarta.inject.Singleton";
1414

1515
static final String IMPORT_PATH_TYPE_CONVERT = "import static io.avaje.http.api.PathTypeConversion.*;";
1616

http-generator-core/src/main/java/io/avaje/http/generator/core/ControllerReader.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,8 @@ protected void addImports(boolean withSingleton) {
6767
importTypes.add(Constants.VALIDATOR);
6868
}
6969
if (withSingleton) {
70-
importTypes.add(Constants.COMPONENT);
70+
importTypes.add(
71+
ctx.useJavax() ? Constants.SINGLETON.replace("jakarta", "javax") : Constants.SINGLETON);
7172
}
7273
}
7374

http-generator-core/src/main/java/io/avaje/http/generator/core/ProcessingContext.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ public class ProcessingContext {
2626
private final Types types;
2727
private final boolean openApiAvailable;
2828
private final DocContext docContext;
29+
private final boolean useJavax;
2930

3031
public ProcessingContext(ProcessingEnvironment env, PlatformAdapter readAdapter) {
3132
this.readAdapter = readAdapter;
@@ -35,6 +36,7 @@ public ProcessingContext(ProcessingEnvironment env, PlatformAdapter readAdapter)
3536
this.types = env.getTypeUtils();
3637
this.openApiAvailable = isTypeAvailable(Constants.OPENAPIDEFINITION);
3738
this.docContext = new DocContext(env, openApiAvailable);
39+
this.useJavax= Boolean.parseBoolean(env.getOptions().get("useJavax"));
3840
}
3941

4042
private boolean isTypeAvailable(String canonicalName) {
@@ -86,4 +88,8 @@ public TypeMirror asMemberOf(DeclaredType declaredType, Element element) {
8688
public PlatformAdapter platform() {
8789
return readAdapter;
8890
}
91+
92+
public boolean useJavax() {
93+
return useJavax;
94+
}
8995
}

http-generator-helidon/src/main/java/io/avaje/http/generator/helidon/ControllerWriter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ private void writeRoutes(List<ControllerMethodWriter> methods) {
6060

6161
private void writeClassStart() {
6262
writer.append(AT_GENERATED).eol();
63-
writer.append("@Component").eol();
63+
writer.append("@Singleton").eol();
6464
writer.append("public class ").append(shortName).append("$Route implements Service {").eol().eol();
6565

6666
String controllerName = "controller";

http-generator-javalin/src/main/java/io/avaje/http/generator/javalin/ControllerWriter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ private void writeForMethod(MethodReader method) {
5656

5757
private void writeClassStart() {
5858
writer.append(AT_GENERATED).eol();
59-
writer.append("@Component").eol();
59+
writer.append("@Singleton").eol();
6060
writer
6161
.append("public class ")
6262
.append(shortName)

http-generator-nima/src/main/java/io/avaje/http/generator/helidon/nima/ControllerWriter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ private void writeRoutes(List<ControllerMethodWriter> methods) {
7272

7373
private void writeClassStart() {
7474
writer.append(AT_GENERATED).eol();
75-
writer.append("@Component").eol();
75+
writer.append("@Singleton").eol();
7676
writer.append("public class %s$Route implements HttpService {", shortName).eol().eol();
7777

7878
var controllerName = "controller";

0 commit comments

Comments
 (0)