Class ResteasyReactiveProcessor
- java.lang.Object
-
- io.quarkus.resteasy.reactive.server.deployment.ResteasyReactiveProcessor
-
public class ResteasyReactiveProcessor extends Object
-
-
Constructor Summary
Constructors Constructor Description ResteasyReactiveProcessor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) void
addAllWriteableMarker(List<io.quarkus.resteasy.reactive.spi.MessageBodyWriterBuildItem> messageBodyWriterBuildItems, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.BytecodeTransformerBuildItem> producer)
This results in addingAllWriteableMarker
to user providedMessageBodyWriter
classes that handle every class RESTEasy Reactive already has a mechanism to do this for built-in types at the build time of that project, so we don't need to do it here.FilterBuildItem
addDefaultAuthFailureHandler(ResteasyReactiveRecorder recorder)
void
additionalAsyncTypeMethodScanners(List<NonBlockingReturnTypeBuildItem> buildItems, io.quarkus.deployment.annotations.BuildProducer<MethodScannerBuildItem> producer)
void
additionalReflection(BeanArchiveIndexBuildItem beanArchiveIndexBuildItem, SetupEndpointsResultBuildItem setupEndpointsResult, List<io.quarkus.resteasy.reactive.spi.MessageBodyReaderBuildItem> messageBodyReaderBuildItems, List<io.quarkus.resteasy.reactive.spi.MessageBodyWriterBuildItem> messageBodyWriterBuildItems, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> producer)
io.quarkus.deployment.builditem.FeatureBuildItem
buildSetup()
void
configureHandlers(ResteasyReactiveRuntimeRecorder recorder, Optional<ResteasyReactiveDeploymentBuildItem> deployment, List<HandlerConfigurationProviderBuildItem> items)
(package private) void
generateCustomProducer(Optional<ResourceScanningResultBuildItem> resourceScanningResultBuildItem, io.quarkus.deployment.annotations.BuildProducer<GeneratedBeanBuildItem> generatedBeanBuildItemBuildProducer, io.quarkus.deployment.annotations.BuildProducer<AdditionalBeanBuildItem> additionalBeanBuildItemBuildProducer)
(package private) void
handleClassLevelExceptionMappers(Optional<ResourceScanningResultBuildItem> resourceScanningResultBuildItem, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.GeneratedClassBuildItem> generatedClass, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> reflectiveClass, io.quarkus.deployment.annotations.BuildProducer<ClassLevelExceptionMappersBuildItem> classLevelExceptionMappers)
(package private) MethodScannerBuildItem
integrateEagerSecurity(io.quarkus.deployment.Capabilities capabilities, io.quarkus.deployment.builditem.CombinedIndexBuildItem indexBuildItem, io.quarkus.vertx.http.runtime.HttpBuildTimeConfig httpBuildTimeConfig)
void
providersFromClasspath(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.resteasy.reactive.spi.MessageBodyReaderBuildItem> messageBodyReaderProducer, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.resteasy.reactive.spi.MessageBodyWriterBuildItem> messageBodyWriterProducer)
RESTEasy Classic also includes the providers that are set in the 'META-INF/services/javax.ws.rs.ext.Providers' file This is not a ServiceLoader call, but essentially provides the same functionality.(package private) void
recordableConstructor(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.RecordableConstructorBuildItem> ctors)
(package private) void
registerCustomExceptionMappers(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.resteasy.reactive.spi.CustomExceptionMapperBuildItem> customExceptionMapper)
(package private) void
registerSecurityInterceptors(io.quarkus.deployment.Capabilities capabilities, io.quarkus.deployment.annotations.BuildProducer<AdditionalBeanBuildItem> beans)
(package private) MethodScannerBuildItem
responseHeaderSupport()
(package private) MethodScannerBuildItem
responseStatusSupport()
void
runtimeConfiguration(ResteasyReactiveRuntimeRecorder recorder, Optional<ResteasyReactiveDeploymentBuildItem> deployment, ResteasyReactiveServerRuntimeConfig resteasyReactiveServerRuntimeConf, io.quarkus.deployment.annotations.BuildProducer<HandlerConfigurationProviderBuildItem> producer)
void
securityExceptionMappers(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.resteasy.reactive.spi.ExceptionMapperBuildItem> exceptionMapperBuildItemBuildProducer)
void
serverSerializers(ResteasyReactiveRecorder recorder, BeanContainerBuildItem beanContainerBuildItem, ApplicationResultBuildItem applicationResultBuildItem, List<io.quarkus.resteasy.reactive.spi.MessageBodyReaderBuildItem> additionalMessageBodyReaders, List<io.quarkus.resteasy.reactive.spi.MessageBodyWriterBuildItem> additionalMessageBodyWriters, List<io.quarkus.resteasy.reactive.spi.MessageBodyReaderOverrideBuildItem> messageBodyReaderOverrideBuildItems, List<io.quarkus.resteasy.reactive.spi.MessageBodyWriterOverrideBuildItem> messageBodyWriterOverrideBuildItems, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> reflectiveClass, io.quarkus.deployment.annotations.BuildProducer<ServerSerialisersBuildItem> serverSerializersProducer)
(package private) io.quarkus.netty.deployment.MinNettyAllocatorMaxOrderBuildItem
setMinimalNettyMaxOrderSize()
void
setupDeployment(BeanContainerBuildItem beanContainerBuildItem, io.quarkus.deployment.Capabilities capabilities, io.quarkus.resteasy.reactive.common.runtime.ResteasyReactiveConfig config, Optional<ResourceScanningResultBuildItem> resourceScanningResultBuildItem, ResteasyReactiveRecorder recorder, io.quarkus.deployment.recording.RecorderContext recorderContext, io.quarkus.deployment.builditem.ShutdownContextBuildItem shutdownContext, io.quarkus.vertx.http.runtime.HttpBuildTimeConfig vertxConfig, SetupEndpointsResultBuildItem setupEndpointsResult, ServerSerialisersBuildItem serverSerialisersBuildItem, List<io.quarkus.resteasy.reactive.spi.DynamicFeatureBuildItem> dynamicFeatures, List<io.quarkus.resteasy.reactive.spi.JaxrsFeatureBuildItem> features, Optional<RequestContextFactoryBuildItem> requestContextFactoryBuildItem, io.quarkus.deployment.annotations.BuildProducer<ResteasyReactiveDeploymentInfoBuildItem> quarkusRestDeploymentInfoBuildItemBuildProducer, io.quarkus.deployment.annotations.BuildProducer<ResteasyReactiveDeploymentBuildItem> quarkusRestDeploymentBuildItemBuildProducer, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> reflectiveClass, io.quarkus.deployment.annotations.BuildProducer<RouteBuildItem> routes, io.quarkus.deployment.annotations.BuildProducer<FilterBuildItem> filterBuildItemBuildProducer, ApplicationResultBuildItem applicationResultBuildItem, ResourceInterceptorsBuildItem resourceInterceptorsBuildItem, ExceptionMappersBuildItem exceptionMappersBuildItem, ParamConverterProvidersBuildItem paramConverterProvidersBuildItem, ContextResolversBuildItem contextResolversBuildItem, ResteasyReactiveServerConfig serverConfig, io.quarkus.deployment.builditem.LaunchModeBuildItem launchModeBuildItem, List<ResumeOn404BuildItem> resumeOn404Items)
void
setupEndpoints(io.quarkus.deployment.builditem.ApplicationIndexBuildItem applicationIndexBuildItem, BeanArchiveIndexBuildItem beanArchiveIndexBuildItem, BeanContainerBuildItem beanContainerBuildItem, io.quarkus.resteasy.reactive.common.runtime.ResteasyReactiveConfig config, Optional<ResourceScanningResultBuildItem> resourceScanningResultBuildItem, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.GeneratedClassBuildItem> generatedClassBuildItemBuildProducer, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.BytecodeTransformerBuildItem> bytecodeTransformerBuildItemBuildProducer, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> reflectiveClassBuildItemBuildProducer, ResteasyReactiveRecorder recorder, List<ServerDefaultProducesHandlerBuildItem> serverDefaultProducesHandlers, Optional<ClassLevelExceptionMappersBuildItem> classLevelExceptionMappers, io.quarkus.deployment.annotations.BuildProducer<SetupEndpointsResultBuildItem> setupEndpointsResultProducer, io.quarkus.deployment.annotations.BuildProducer<ResteasyReactiveResourceMethodEntriesBuildItem> resourceMethodEntriesBuildItemBuildProducer, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveHierarchyBuildItem> reflectiveHierarchy, ApplicationResultBuildItem applicationResultBuildItem, ParamConverterProvidersBuildItem paramConverterProvidersBuildItem, List<ParameterContainersBuildItem> parameterContainersBuildItems, List<io.quarkus.deployment.builditem.ApplicationClassPredicateBuildItem> applicationClassPredicateBuildItems, List<MethodScannerBuildItem> methodScanners, List<AnnotationsTransformerBuildItem> annotationTransformerBuildItems, List<ContextTypeBuildItem> contextTypeBuildItems, io.quarkus.deployment.pkg.builditem.CompiledJavaVersionBuildItem compiledJavaVersionBuildItem, ResourceInterceptorsBuildItem resourceInterceptorsBuildItem, io.quarkus.deployment.Capabilities capabilities)
void
transformEndpoints(ResourceScanningResultBuildItem resourceScanningResultBuildItem, ResourceInterceptorsBuildItem resourceInterceptorsBuildItem, io.quarkus.deployment.annotations.BuildProducer<AnnotationsTransformerBuildItem> annotationsTransformer, BeanArchiveIndexBuildItem beanArchiveIndexBuildItem)
void
unremovableBeans(Optional<ResourceScanningResultBuildItem> resourceScanningResultBuildItem, io.quarkus.deployment.annotations.BuildProducer<UnremovableBeanBuildItem> unremovableBeans)
(package private) void
vertxIntegration(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.resteasy.reactive.spi.MessageBodyWriterBuildItem> writerBuildItemBuildProducer)
-
-
-
Method Detail
-
buildSetup
public io.quarkus.deployment.builditem.FeatureBuildItem buildSetup()
-
setMinimalNettyMaxOrderSize
io.quarkus.netty.deployment.MinNettyAllocatorMaxOrderBuildItem setMinimalNettyMaxOrderSize()
-
recordableConstructor
void recordableConstructor(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.RecordableConstructorBuildItem> ctors)
-
responseStatusSupport
MethodScannerBuildItem responseStatusSupport()
-
responseHeaderSupport
MethodScannerBuildItem responseHeaderSupport()
-
vertxIntegration
void vertxIntegration(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.resteasy.reactive.spi.MessageBodyWriterBuildItem> writerBuildItemBuildProducer)
-
generateCustomProducer
void generateCustomProducer(Optional<ResourceScanningResultBuildItem> resourceScanningResultBuildItem, io.quarkus.deployment.annotations.BuildProducer<GeneratedBeanBuildItem> generatedBeanBuildItemBuildProducer, io.quarkus.deployment.annotations.BuildProducer<AdditionalBeanBuildItem> additionalBeanBuildItemBuildProducer)
-
handleClassLevelExceptionMappers
void handleClassLevelExceptionMappers(Optional<ResourceScanningResultBuildItem> resourceScanningResultBuildItem, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.GeneratedClassBuildItem> generatedClass, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> reflectiveClass, io.quarkus.deployment.annotations.BuildProducer<ClassLevelExceptionMappersBuildItem> classLevelExceptionMappers)
-
registerCustomExceptionMappers
void registerCustomExceptionMappers(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.resteasy.reactive.spi.CustomExceptionMapperBuildItem> customExceptionMapper)
-
unremovableBeans
public void unremovableBeans(Optional<ResourceScanningResultBuildItem> resourceScanningResultBuildItem, io.quarkus.deployment.annotations.BuildProducer<UnremovableBeanBuildItem> unremovableBeans)
-
additionalAsyncTypeMethodScanners
public void additionalAsyncTypeMethodScanners(List<NonBlockingReturnTypeBuildItem> buildItems, io.quarkus.deployment.annotations.BuildProducer<MethodScannerBuildItem> producer)
-
setupEndpoints
public void setupEndpoints(io.quarkus.deployment.builditem.ApplicationIndexBuildItem applicationIndexBuildItem, BeanArchiveIndexBuildItem beanArchiveIndexBuildItem, BeanContainerBuildItem beanContainerBuildItem, io.quarkus.resteasy.reactive.common.runtime.ResteasyReactiveConfig config, Optional<ResourceScanningResultBuildItem> resourceScanningResultBuildItem, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.GeneratedClassBuildItem> generatedClassBuildItemBuildProducer, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.BytecodeTransformerBuildItem> bytecodeTransformerBuildItemBuildProducer, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> reflectiveClassBuildItemBuildProducer, ResteasyReactiveRecorder recorder, List<ServerDefaultProducesHandlerBuildItem> serverDefaultProducesHandlers, Optional<ClassLevelExceptionMappersBuildItem> classLevelExceptionMappers, io.quarkus.deployment.annotations.BuildProducer<SetupEndpointsResultBuildItem> setupEndpointsResultProducer, io.quarkus.deployment.annotations.BuildProducer<ResteasyReactiveResourceMethodEntriesBuildItem> resourceMethodEntriesBuildItemBuildProducer, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveHierarchyBuildItem> reflectiveHierarchy, ApplicationResultBuildItem applicationResultBuildItem, ParamConverterProvidersBuildItem paramConverterProvidersBuildItem, List<ParameterContainersBuildItem> parameterContainersBuildItems, List<io.quarkus.deployment.builditem.ApplicationClassPredicateBuildItem> applicationClassPredicateBuildItems, List<MethodScannerBuildItem> methodScanners, List<AnnotationsTransformerBuildItem> annotationTransformerBuildItems, List<ContextTypeBuildItem> contextTypeBuildItems, io.quarkus.deployment.pkg.builditem.CompiledJavaVersionBuildItem compiledJavaVersionBuildItem, ResourceInterceptorsBuildItem resourceInterceptorsBuildItem, io.quarkus.deployment.Capabilities capabilities) throws NoSuchMethodException
- Throws:
NoSuchMethodException
-
transformEndpoints
public void transformEndpoints(ResourceScanningResultBuildItem resourceScanningResultBuildItem, ResourceInterceptorsBuildItem resourceInterceptorsBuildItem, io.quarkus.deployment.annotations.BuildProducer<AnnotationsTransformerBuildItem> annotationsTransformer, BeanArchiveIndexBuildItem beanArchiveIndexBuildItem)
-
providersFromClasspath
public void providersFromClasspath(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.resteasy.reactive.spi.MessageBodyReaderBuildItem> messageBodyReaderProducer, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.resteasy.reactive.spi.MessageBodyWriterBuildItem> messageBodyWriterProducer)
RESTEasy Classic also includes the providers that are set in the 'META-INF/services/javax.ws.rs.ext.Providers' file This is not a ServiceLoader call, but essentially provides the same functionality.
-
serverSerializers
public void serverSerializers(ResteasyReactiveRecorder recorder, BeanContainerBuildItem beanContainerBuildItem, ApplicationResultBuildItem applicationResultBuildItem, List<io.quarkus.resteasy.reactive.spi.MessageBodyReaderBuildItem> additionalMessageBodyReaders, List<io.quarkus.resteasy.reactive.spi.MessageBodyWriterBuildItem> additionalMessageBodyWriters, List<io.quarkus.resteasy.reactive.spi.MessageBodyReaderOverrideBuildItem> messageBodyReaderOverrideBuildItems, List<io.quarkus.resteasy.reactive.spi.MessageBodyWriterOverrideBuildItem> messageBodyWriterOverrideBuildItems, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> reflectiveClass, io.quarkus.deployment.annotations.BuildProducer<ServerSerialisersBuildItem> serverSerializersProducer)
-
additionalReflection
public void additionalReflection(BeanArchiveIndexBuildItem beanArchiveIndexBuildItem, SetupEndpointsResultBuildItem setupEndpointsResult, List<io.quarkus.resteasy.reactive.spi.MessageBodyReaderBuildItem> messageBodyReaderBuildItems, List<io.quarkus.resteasy.reactive.spi.MessageBodyWriterBuildItem> messageBodyWriterBuildItems, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> producer)
-
setupDeployment
public void setupDeployment(BeanContainerBuildItem beanContainerBuildItem, io.quarkus.deployment.Capabilities capabilities, io.quarkus.resteasy.reactive.common.runtime.ResteasyReactiveConfig config, Optional<ResourceScanningResultBuildItem> resourceScanningResultBuildItem, ResteasyReactiveRecorder recorder, io.quarkus.deployment.recording.RecorderContext recorderContext, io.quarkus.deployment.builditem.ShutdownContextBuildItem shutdownContext, io.quarkus.vertx.http.runtime.HttpBuildTimeConfig vertxConfig, SetupEndpointsResultBuildItem setupEndpointsResult, ServerSerialisersBuildItem serverSerialisersBuildItem, List<io.quarkus.resteasy.reactive.spi.DynamicFeatureBuildItem> dynamicFeatures, List<io.quarkus.resteasy.reactive.spi.JaxrsFeatureBuildItem> features, Optional<RequestContextFactoryBuildItem> requestContextFactoryBuildItem, io.quarkus.deployment.annotations.BuildProducer<ResteasyReactiveDeploymentInfoBuildItem> quarkusRestDeploymentInfoBuildItemBuildProducer, io.quarkus.deployment.annotations.BuildProducer<ResteasyReactiveDeploymentBuildItem> quarkusRestDeploymentBuildItemBuildProducer, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> reflectiveClass, io.quarkus.deployment.annotations.BuildProducer<RouteBuildItem> routes, io.quarkus.deployment.annotations.BuildProducer<FilterBuildItem> filterBuildItemBuildProducer, ApplicationResultBuildItem applicationResultBuildItem, ResourceInterceptorsBuildItem resourceInterceptorsBuildItem, ExceptionMappersBuildItem exceptionMappersBuildItem, ParamConverterProvidersBuildItem paramConverterProvidersBuildItem, ContextResolversBuildItem contextResolversBuildItem, ResteasyReactiveServerConfig serverConfig, io.quarkus.deployment.builditem.LaunchModeBuildItem launchModeBuildItem, List<ResumeOn404BuildItem> resumeOn404Items) throws NoSuchMethodException
- Throws:
NoSuchMethodException
-
addDefaultAuthFailureHandler
public FilterBuildItem addDefaultAuthFailureHandler(ResteasyReactiveRecorder recorder)
-
runtimeConfiguration
public void runtimeConfiguration(ResteasyReactiveRuntimeRecorder recorder, Optional<ResteasyReactiveDeploymentBuildItem> deployment, ResteasyReactiveServerRuntimeConfig resteasyReactiveServerRuntimeConf, io.quarkus.deployment.annotations.BuildProducer<HandlerConfigurationProviderBuildItem> producer)
-
configureHandlers
public void configureHandlers(ResteasyReactiveRuntimeRecorder recorder, Optional<ResteasyReactiveDeploymentBuildItem> deployment, List<HandlerConfigurationProviderBuildItem> items)
-
securityExceptionMappers
public void securityExceptionMappers(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.resteasy.reactive.spi.ExceptionMapperBuildItem> exceptionMapperBuildItemBuildProducer)
-
integrateEagerSecurity
MethodScannerBuildItem integrateEagerSecurity(io.quarkus.deployment.Capabilities capabilities, io.quarkus.deployment.builditem.CombinedIndexBuildItem indexBuildItem, io.quarkus.vertx.http.runtime.HttpBuildTimeConfig httpBuildTimeConfig)
-
addAllWriteableMarker
void addAllWriteableMarker(List<io.quarkus.resteasy.reactive.spi.MessageBodyWriterBuildItem> messageBodyWriterBuildItems, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.BytecodeTransformerBuildItem> producer)
This results in addingAllWriteableMarker
to user providedMessageBodyWriter
classes that handle every class RESTEasy Reactive already has a mechanism to do this for built-in types at the build time of that project, so we don't need to do it here.
-
registerSecurityInterceptors
void registerSecurityInterceptors(io.quarkus.deployment.Capabilities capabilities, io.quarkus.deployment.annotations.BuildProducer<AdditionalBeanBuildItem> beans)
-
-