Class CustomResourceProducersGenerator
- java.lang.Object
-
- io.quarkus.resteasy.reactive.server.deployment.CustomResourceProducersGenerator
-
final class CustomResourceProducersGenerator extends Object
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
generate(Map<org.jboss.jandex.DotName,org.jboss.jandex.MethodInfo> resourcesThatNeedCustomProducer, Set<String> beanParamsThatNeedCustomProducer, io.quarkus.deployment.annotations.BuildProducer<GeneratedBeanBuildItem> generatedBeanBuildItemBuildProducer, io.quarkus.deployment.annotations.BuildProducer<AdditionalBeanBuildItem> additionalBeanBuildItemBuildProducer)
We generate a class that contains as many CDI producer methods as there are JAX-RS Resources that use JAX-RS params.
-
-
-
Method Detail
-
generate
public static void generate(Map<org.jboss.jandex.DotName,org.jboss.jandex.MethodInfo> resourcesThatNeedCustomProducer, Set<String> beanParamsThatNeedCustomProducer, io.quarkus.deployment.annotations.BuildProducer<GeneratedBeanBuildItem> generatedBeanBuildItemBuildProducer, io.quarkus.deployment.annotations.BuildProducer<AdditionalBeanBuildItem> additionalBeanBuildItemBuildProducer)
We generate a class that contains as many CDI producer methods as there are JAX-RS Resources that use JAX-RS params. If for example there was a single such JAX-RS resource looking like:
then the generated producer would look like this:@Path("/query") public class QueryParamResource { private final String queryParamValue; private final UriInfo uriInfo; public QueryParamResource(@QueryParam("p1") String headerValue, @Context UriInfo uriInfo) { this.headerValue = headerValue; } @GET public String get() { // DO something } }
@Singleton public class ResourcesWithParamProducer { @Inject CurrentVertxRequest currentVertxRequest; @Produces @RequestScoped public QueryParamResource producer_QueryParamResource_somehash(UriInfo uriInfo) { return new QueryParamResource(getContext().getContext().queryParams().get("p1"), uriInfo); } private QuarkusRestRequestContext getContext() { return (QuarkusRestRequestContext) currentVertxRequest.getOtherHttpContextObject(); } }
-
-