Class ServerEndpointIndexer
java.lang.Object
org.jboss.resteasy.reactive.common.processor.EndpointIndexer<ServerEndpointIndexer,ServerIndexedParameter,ServerResourceMethod>
org.jboss.resteasy.reactive.server.processor.ServerEndpointIndexer
public class ServerEndpointIndexer
extends EndpointIndexer<ServerEndpointIndexer,ServerIndexedParameter,ServerResourceMethod>
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classServerEndpointIndexer.AbstractBuilder<B extends EndpointIndexer.Builder<ServerEndpointIndexer,B, ServerResourceMethod>> static classstatic interfacestatic interfaceNested classes/interfaces inherited from class org.jboss.resteasy.reactive.common.processor.EndpointIndexer
EndpointIndexer.BasicResourceClassInfo, EndpointIndexer.DeclaredTypes, EndpointIndexer.MultipartParameterIndexerExtension, EndpointIndexer.MultipartReturnTypeIndexerExtension, EndpointIndexer.ResourceMethodCallbackEntry -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final ServerEndpointIndexer.ConverterSupplierIndexerExtensionprotected final EndpointInvokerFactoryprotected final ServerEndpointIndexer.FieldInjectionIndexerExtensionprotected final List<MethodScanner> protected final booleanFields inherited from class org.jboss.resteasy.reactive.common.processor.EndpointIndexer
additionalReaders, alreadyHandledRequestScopedResources, applicationIndex, applicationScanningResult, CDI_WRAPPER_SUFFIX, config, EMPTY_STRING_ARRAY, existingConverters, hasRuntimeConverters, index, injectableBeans, log, METHOD_CONTEXT_ANNOTATION_STORE, METHOD_CONTEXT_CUSTOM_RETURN_TYPE_KEY, METHOD_PRODUCES, primitiveTypes, SUPPORT_TEMPORAL_PARAMS -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddReaderForType(AdditionalReaders additionalReaders, org.jboss.jandex.Type paramType) protected voidaddWriterForType(AdditionalWriters additionalWriters, org.jboss.jandex.Type paramType) protected ServerIndexedParameterprotected org.jboss.resteasy.reactive.common.model.MethodParametercreateMethodParameter(org.jboss.jandex.ClassInfo currentClassInfo, org.jboss.jandex.ClassInfo actualEndpointInfo, boolean encoded, org.jboss.jandex.Type paramType, ServerIndexedParameter parameterResult, String name, String defaultValue, org.jboss.resteasy.reactive.common.model.ParameterType type, String elementType, boolean single, String signature, Set<String> fileFormNames) protected ServerResourceMethodcreateResourceMethod(org.jboss.jandex.MethodInfo methodInfo, org.jboss.jandex.ClassInfo actualEndpointClass, Map<String, Object> methodContext) protected booleandoesMethodHaveBlockingSignature(org.jboss.jandex.MethodInfo info) static org.jboss.jandex.MethodInfofindEndpointImplementation(org.jboss.jandex.MethodInfo methodInfo, org.jboss.jandex.ClassInfo actualEndpointClass, org.jboss.jandex.IndexView index) Aim here is to find a method that actually returns endpoint response.protected voidhandleAdditionalMethodProcessing(ServerResourceMethod method, org.jboss.jandex.ClassInfo currentClassInfo, org.jboss.jandex.MethodInfo info, AnnotationStore annotationStore) protected voidhandleArrayParam(Map<String, String> existingConverters, String errorLocation, boolean hasRuntimeConverters, ServerIndexedParameter builder, String elementType, org.jboss.jandex.MethodInfo currentMethodInfo) protected booleanhandleBeanParam(org.jboss.jandex.ClassInfo actualEndpointInfo, org.jboss.jandex.Type paramType, org.jboss.resteasy.reactive.common.model.MethodParameter[] methodParameters, int i, Set<String> fileFormNames) protected booleanhandleCustomParameter(Map<org.jboss.jandex.DotName, org.jboss.jandex.AnnotationInstance> anns, ServerIndexedParameter builder, org.jboss.jandex.Type paramType, boolean field, Map<String, Object> methodContext) protected voidhandleListParam(Map<String, String> existingConverters, String errorLocation, boolean hasRuntimeConverters, ServerIndexedParameter builder, String elementType, org.jboss.jandex.MethodInfo currentMethodInfo) protected voidhandleOptionalParam(Map<String, String> existingConverters, Map<org.jboss.jandex.DotName, org.jboss.jandex.AnnotationInstance> parameterAnnotations, String errorLocation, boolean hasRuntimeConverters, ServerIndexedParameter builder, String elementType, String genericElementType, org.jboss.jandex.MethodInfo currentMethodInfo) protected voidhandleOtherParam(Map<String, String> existingConverters, String errorLocation, boolean hasRuntimeConverters, ServerIndexedParameter builder, String elementType, org.jboss.jandex.MethodInfo currentMethodInfo) protected voidprotected voidhandleSetParam(Map<String, String> existingConverters, String errorLocation, boolean hasRuntimeConverters, ServerIndexedParameter builder, String elementType, org.jboss.jandex.MethodInfo currentMethodInfo) protected voidhandleSortedSetParam(Map<String, String> existingConverters, String errorLocation, boolean hasRuntimeConverters, ServerIndexedParameter builder, String elementType, org.jboss.jandex.MethodInfo currentMethodInfo) protected voidhandleTemporalParam(ServerIndexedParameter builder, org.jboss.jandex.DotName paramType, Map<org.jboss.jandex.DotName, org.jboss.jandex.AnnotationInstance> parameterAnnotations, org.jboss.jandex.MethodInfo currentMethodInfo) protected StringhandleTrailingSlash(String path) For the server side, by default, we are removing the trailing slash unless is not configured otherwise.protected org.jboss.resteasy.reactive.common.model.InjectableBeanscanInjectableBean(org.jboss.jandex.ClassInfo currentClassInfo, org.jboss.jandex.ClassInfo actualEndpointInfo, Map<String, String> existingConverters, AdditionalReaders additionalReaders, Map<String, org.jboss.resteasy.reactive.common.model.InjectableBean> injectableBeans, boolean hasRuntimeConverters) Methods inherited from class org.jboss.resteasy.reactive.common.processor.EndpointIndexer
additionalRegisterClassForReflectionCheck, applyAdditionalDefaults, createEndpoints, createEndpoints, extractParameterInfo, extractProducesConsumesValues, getAnnotationStore, getDeclaredTypes, getPartMime, getSeparator, getSerializerScanningResult, handleClientSubResource, hasJson, hasJson, hasNoTypesDefined, isDefaultJson, isJson, logMissingJsonWarning, nameBindingNames, nameBindingNames, setupApplyDefaults, skipParameter, toClassName, verifyClassThatRequiresFieldInjection, warnAboutMissingJsonProviderIfNeeded, warnAboutMissUsedBodyParameter
-
Field Details
-
endpointInvokerFactory
-
methodScanners
-
fieldInjectionHandler
-
converterSupplierIndexerExtension
protected final ServerEndpointIndexer.ConverterSupplierIndexerExtension converterSupplierIndexerExtension -
removesTrailingSlash
protected final boolean removesTrailingSlash
-
-
Constructor Details
-
ServerEndpointIndexer
-
-
Method Details
-
addWriterForType
protected void addWriterForType(AdditionalWriters additionalWriters, org.jboss.jandex.Type paramType) - Specified by:
addWriterForTypein classEndpointIndexer<ServerEndpointIndexer,ServerIndexedParameter, ServerResourceMethod>
-
addReaderForType
protected void addReaderForType(AdditionalReaders additionalReaders, org.jboss.jandex.Type paramType) - Specified by:
addReaderForTypein classEndpointIndexer<ServerEndpointIndexer,ServerIndexedParameter, ServerResourceMethod>
-
createIndexedParam
- Specified by:
createIndexedParamin classEndpointIndexer<ServerEndpointIndexer,ServerIndexedParameter, ServerResourceMethod>
-
handleCustomParameter
protected boolean handleCustomParameter(Map<org.jboss.jandex.DotName, org.jboss.jandex.AnnotationInstance> anns, ServerIndexedParameter builder, org.jboss.jandex.Type paramType, boolean field, Map<String, Object> methodContext) - Overrides:
handleCustomParameterin classEndpointIndexer<ServerEndpointIndexer,ServerIndexedParameter, ServerResourceMethod>
-
createResourceMethod
protected ServerResourceMethod createResourceMethod(org.jboss.jandex.MethodInfo methodInfo, org.jboss.jandex.ClassInfo actualEndpointClass, Map<String, Object> methodContext) - Specified by:
createResourceMethodin classEndpointIndexer<ServerEndpointIndexer,ServerIndexedParameter, ServerResourceMethod>
-
findEndpointImplementation
public static org.jboss.jandex.MethodInfo findEndpointImplementation(org.jboss.jandex.MethodInfo methodInfo, org.jboss.jandex.ClassInfo actualEndpointClass, org.jboss.jandex.IndexView index) Aim here is to find a method that actually returns endpoint response. We can receive method with similar signature several times here, only differing in the modifiers (abstract etc.). However,actualEndpointClasswill change. For example once from the interface with JAX-RS endpoint defining annotations and also from implementors.- Returns:
- method that returns endpoint response
-
handleBeanParam
protected boolean handleBeanParam(org.jboss.jandex.ClassInfo actualEndpointInfo, org.jboss.jandex.Type paramType, org.jboss.resteasy.reactive.common.model.MethodParameter[] methodParameters, int i, Set<String> fileFormNames) - Specified by:
handleBeanParamin classEndpointIndexer<ServerEndpointIndexer,ServerIndexedParameter, ServerResourceMethod>
-
doesMethodHaveBlockingSignature
protected boolean doesMethodHaveBlockingSignature(org.jboss.jandex.MethodInfo info) -
handleAdditionalMethodProcessing
protected void handleAdditionalMethodProcessing(ServerResourceMethod method, org.jboss.jandex.ClassInfo currentClassInfo, org.jboss.jandex.MethodInfo info, AnnotationStore annotationStore) -
scanInjectableBean
protected org.jboss.resteasy.reactive.common.model.InjectableBean scanInjectableBean(org.jboss.jandex.ClassInfo currentClassInfo, org.jboss.jandex.ClassInfo actualEndpointInfo, Map<String, String> existingConverters, AdditionalReaders additionalReaders, Map<String, org.jboss.resteasy.reactive.common.model.InjectableBean> injectableBeans, boolean hasRuntimeConverters) - Specified by:
scanInjectableBeanin classEndpointIndexer<ServerEndpointIndexer,ServerIndexedParameter, ServerResourceMethod>
-
createMethodParameter
protected org.jboss.resteasy.reactive.common.model.MethodParameter createMethodParameter(org.jboss.jandex.ClassInfo currentClassInfo, org.jboss.jandex.ClassInfo actualEndpointInfo, boolean encoded, org.jboss.jandex.Type paramType, ServerIndexedParameter parameterResult, String name, String defaultValue, org.jboss.resteasy.reactive.common.model.ParameterType type, String elementType, boolean single, String signature, Set<String> fileFormNames) - Specified by:
createMethodParameterin classEndpointIndexer<ServerEndpointIndexer,ServerIndexedParameter, ServerResourceMethod>
-
handleOtherParam
protected void handleOtherParam(Map<String, String> existingConverters, String errorLocation, boolean hasRuntimeConverters, ServerIndexedParameter builder, String elementType, org.jboss.jandex.MethodInfo currentMethodInfo) - Overrides:
handleOtherParamin classEndpointIndexer<ServerEndpointIndexer,ServerIndexedParameter, ServerResourceMethod>
-
handleSortedSetParam
protected void handleSortedSetParam(Map<String, String> existingConverters, String errorLocation, boolean hasRuntimeConverters, ServerIndexedParameter builder, String elementType, org.jboss.jandex.MethodInfo currentMethodInfo) - Overrides:
handleSortedSetParamin classEndpointIndexer<ServerEndpointIndexer,ServerIndexedParameter, ServerResourceMethod>
-
handleOptionalParam
protected void handleOptionalParam(Map<String, String> existingConverters, Map<org.jboss.jandex.DotName, org.jboss.jandex.AnnotationInstance> parameterAnnotations, String errorLocation, boolean hasRuntimeConverters, ServerIndexedParameter builder, String elementType, String genericElementType, org.jboss.jandex.MethodInfo currentMethodInfo) - Overrides:
handleOptionalParamin classEndpointIndexer<ServerEndpointIndexer,ServerIndexedParameter, ServerResourceMethod>
-
handleSetParam
protected void handleSetParam(Map<String, String> existingConverters, String errorLocation, boolean hasRuntimeConverters, ServerIndexedParameter builder, String elementType, org.jboss.jandex.MethodInfo currentMethodInfo) - Overrides:
handleSetParamin classEndpointIndexer<ServerEndpointIndexer,ServerIndexedParameter, ServerResourceMethod>
-
handleListParam
protected void handleListParam(Map<String, String> existingConverters, String errorLocation, boolean hasRuntimeConverters, ServerIndexedParameter builder, String elementType, org.jboss.jandex.MethodInfo currentMethodInfo) - Overrides:
handleListParamin classEndpointIndexer<ServerEndpointIndexer,ServerIndexedParameter, ServerResourceMethod>
-
handleArrayParam
protected void handleArrayParam(Map<String, String> existingConverters, String errorLocation, boolean hasRuntimeConverters, ServerIndexedParameter builder, String elementType, org.jboss.jandex.MethodInfo currentMethodInfo) - Overrides:
handleArrayParamin classEndpointIndexer<ServerEndpointIndexer,ServerIndexedParameter, ServerResourceMethod>
-
handlePathSegmentParam
- Overrides:
handlePathSegmentParamin classEndpointIndexer<ServerEndpointIndexer,ServerIndexedParameter, ServerResourceMethod>
-
handleTrailingSlash
For the server side, by default, we are removing the trailing slash unless is not configured otherwise.- Overrides:
handleTrailingSlashin classEndpointIndexer<ServerEndpointIndexer,ServerIndexedParameter, ServerResourceMethod>
-
handleTemporalParam
protected void handleTemporalParam(ServerIndexedParameter builder, org.jboss.jandex.DotName paramType, Map<org.jboss.jandex.DotName, org.jboss.jandex.AnnotationInstance> parameterAnnotations, org.jboss.jandex.MethodInfo currentMethodInfo) - Overrides:
handleTemporalParamin classEndpointIndexer<ServerEndpointIndexer,ServerIndexedParameter, ServerResourceMethod>
-