Class EndpointIndexer<T extends EndpointIndexer<T,PARAM,METHOD>,PARAM extends IndexedParameter<PARAM>,METHOD extends ResourceMethod>
- java.lang.Object
-
- org.jboss.resteasy.reactive.common.processor.EndpointIndexer<T,PARAM,METHOD>
-
public abstract class EndpointIndexer<T extends EndpointIndexer<T,PARAM,METHOD>,PARAM extends IndexedParameter<PARAM>,METHOD extends ResourceMethod> extends Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classEndpointIndexer.BasicResourceClassInfostatic classEndpointIndexer.Builder<T extends EndpointIndexer<T,?,METHOD>,B extends EndpointIndexer.Builder<T,B,METHOD>,METHOD extends ResourceMethod>static classEndpointIndexer.DeclaredTypesstatic interfaceEndpointIndexer.MultipartParameterIndexerExtensionstatic interfaceEndpointIndexer.MultipartReturnTypeIndexerExtensionstatic classEndpointIndexer.ResourceMethodCallbackData
-
Field Summary
Fields Modifier and Type Field Description protected AdditionalReadersadditionalReadersprotected org.jboss.jandex.IndexViewapplicationIndexprotected ApplicationScanningResultapplicationScanningResultstatic StringCDI_WRAPPER_SUFFIXprotected ResteasyReactiveConfigconfigprotected static String[]EMPTY_STRING_ARRAYprotected Map<String,String>existingConvertersprotected booleanhasRuntimeConvertersprotected org.jboss.jandex.IndexViewindexprotected Map<String,InjectableBean>injectableBeansprotected static org.jboss.logging.Loggerlogstatic StringMETHOD_CONTEXT_ANNOTATION_STOREstatic StringMETHOD_CONTEXT_CUSTOM_RETURN_TYPE_KEYstatic StringMETHOD_PRODUCESstatic Map<String,String>primitiveTypesprotected static Set<org.jboss.jandex.DotName>SUPPORT_TEMPORAL_PARAMS
-
Constructor Summary
Constructors Modifier Constructor Description protectedEndpointIndexer(EndpointIndexer.Builder<T,?,METHOD> builder)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract voidaddReaderForType(AdditionalReaders additionalReaders, org.jboss.jandex.Type paramType)protected abstract voidaddWriterForType(AdditionalWriters additionalWriters, org.jboss.jandex.Type paramType)protected String[]applyAdditionalDefaults(org.jboss.jandex.Type nonAsyncReturnType)Optional<ResourceClass>createEndpoints(org.jboss.jandex.ClassInfo classInfo, boolean considerApplication)protected List<ResourceMethod>createEndpoints(org.jboss.jandex.ClassInfo currentClassInfo, org.jboss.jandex.ClassInfo actualEndpointInfo, Set<String> seenMethods, Set<String> existingClassNameBindings, Set<String> pathParameters, String resourceClassPath, boolean considerApplication)protected abstract PARAMcreateIndexedParam()protected abstract MethodParametercreateMethodParameter(org.jboss.jandex.ClassInfo currentClassInfo, org.jboss.jandex.ClassInfo actualEndpointInfo, boolean encoded, org.jboss.jandex.Type paramType, PARAM parameterResult, String name, String defaultValue, ParameterType type, String elementType, boolean single, String signature)protected abstract METHODcreateResourceMethod(org.jboss.jandex.MethodInfo info, org.jboss.jandex.ClassInfo actualEndpointClass, Map<String,Object> methodContext)protected booleandoesMethodHaveBlockingSignature(org.jboss.jandex.MethodInfo info)PARAMextractParameterInfo(org.jboss.jandex.ClassInfo currentClassInfo, org.jboss.jandex.ClassInfo actualEndpointInfo, org.jboss.jandex.MethodInfo currentMethodInfo, Map<String,String> existingConverters, AdditionalReaders additionalReaders, Map<org.jboss.jandex.DotName,org.jboss.jandex.AnnotationInstance> anns, org.jboss.jandex.Type paramType, String errorLocation, boolean field, boolean hasRuntimeConverters, Set<String> pathParameters, String sourceName, String[] declaredConsumes, Map<String,Object> methodContext)static String[]extractProducesConsumesValues(org.jboss.jandex.AnnotationInstance annotation, String[] defaultValue)protected AnnotationStoregetAnnotationStore()protected EndpointIndexer.DeclaredTypesgetDeclaredTypes(org.jboss.jandex.Type paramType, org.jboss.jandex.ClassInfo currentClassInfo, org.jboss.jandex.ClassInfo actualEndpointInfo)protected StringgetPartMime(Map<org.jboss.jandex.DotName,org.jboss.jandex.AnnotationInstance> annotations)protected voidhandleAdditionalMethodProcessing(METHOD method, org.jboss.jandex.ClassInfo currentClassInfo, org.jboss.jandex.MethodInfo info, AnnotationStore annotationStore)protected voidhandleArrayParam(Map<String,String> existingConverters, String errorLocation, boolean hasRuntimeConverters, PARAM builder, String elementType)protected abstract booleanhandleBeanParam(org.jboss.jandex.ClassInfo actualEndpointInfo, org.jboss.jandex.Type paramType, MethodParameter[] methodParameters, int i)protected voidhandleClientSubResource(ResourceMethod resourceMethod, org.jboss.jandex.MethodInfo method, org.jboss.jandex.IndexView index)protected booleanhandleCustomParameter(Map<org.jboss.jandex.DotName,org.jboss.jandex.AnnotationInstance> anns, PARAM builder, org.jboss.jandex.Type paramType, boolean field, Map<String,Object> methodContext)protected voidhandleListParam(Map<String,String> existingConverters, String errorLocation, boolean hasRuntimeConverters, PARAM builder, String elementType)protected voidhandleOptionalParam(Map<String,String> existingConverters, Map<org.jboss.jandex.DotName,org.jboss.jandex.AnnotationInstance> parameterAnnotations, String errorLocation, boolean hasRuntimeConverters, PARAM builder, String elementType, String genericElementType, org.jboss.jandex.MethodInfo currentMethodInfo)protected voidhandleOtherParam(Map<String,String> existingConverters, String errorLocation, boolean hasRuntimeConverters, PARAM builder, String elementType)protected voidhandlePathSegmentParam(PARAM builder)protected voidhandleSetParam(Map<String,String> existingConverters, String errorLocation, boolean hasRuntimeConverters, PARAM builder, String elementType)protected voidhandleSortedSetParam(Map<String,String> existingConverters, String errorLocation, boolean hasRuntimeConverters, PARAM builder, String elementType)protected voidhandleTemporalParam(PARAM builder, org.jboss.jandex.DotName name, Map<org.jboss.jandex.DotName,org.jboss.jandex.AnnotationInstance> parameterAnnotations, org.jboss.jandex.MethodInfo currentMethodInfo)protected StringhandleTrailingSlash(String path)Set<String>nameBindingNames(org.jboss.jandex.ClassInfo selectedAppClass)Set<String>nameBindingNames(org.jboss.jandex.MethodInfo methodInfo, Set<String> forClass)protected abstract InjectableBeanscanInjectableBean(org.jboss.jandex.ClassInfo currentClassInfo, org.jboss.jandex.ClassInfo actualEndpointInfo, Map<String,String> existingConverters, AdditionalReaders additionalReaders, Map<String,InjectableBean> injectableBeans, boolean hasRuntimeConverters)protected voidsetupApplyDefaults(org.jboss.jandex.Type nonAsyncReturnType, org.jboss.jandex.DotName httpMethod)protected static StringtoClassName(org.jboss.jandex.Type indexType, org.jboss.jandex.ClassInfo currentClass, org.jboss.jandex.ClassInfo actualEndpointClass, org.jboss.jandex.IndexView indexView)
-
-
-
Field Detail
-
SUPPORT_TEMPORAL_PARAMS
protected static final Set<org.jboss.jandex.DotName> SUPPORT_TEMPORAL_PARAMS
-
log
protected static final org.jboss.logging.Logger log
-
EMPTY_STRING_ARRAY
protected static final String[] EMPTY_STRING_ARRAY
-
CDI_WRAPPER_SUFFIX
public static final String CDI_WRAPPER_SUFFIX
- See Also:
- Constant Field Values
-
METHOD_CONTEXT_CUSTOM_RETURN_TYPE_KEY
public static final String METHOD_CONTEXT_CUSTOM_RETURN_TYPE_KEY
- See Also:
- Constant Field Values
-
METHOD_CONTEXT_ANNOTATION_STORE
public static final String METHOD_CONTEXT_ANNOTATION_STORE
- See Also:
- Constant Field Values
-
METHOD_PRODUCES
public static final String METHOD_PRODUCES
- See Also:
- Constant Field Values
-
index
protected final org.jboss.jandex.IndexView index
-
applicationIndex
protected final org.jboss.jandex.IndexView applicationIndex
-
injectableBeans
protected final Map<String,InjectableBean> injectableBeans
-
hasRuntimeConverters
protected final boolean hasRuntimeConverters
-
config
protected final ResteasyReactiveConfig config
-
additionalReaders
protected final AdditionalReaders additionalReaders
-
applicationScanningResult
protected final ApplicationScanningResult applicationScanningResult
-
-
Constructor Detail
-
EndpointIndexer
protected EndpointIndexer(EndpointIndexer.Builder<T,?,METHOD> builder)
-
-
Method Detail
-
createEndpoints
public Optional<ResourceClass> createEndpoints(org.jboss.jandex.ClassInfo classInfo, boolean considerApplication)
-
createResourceMethod
protected abstract METHOD createResourceMethod(org.jboss.jandex.MethodInfo info, org.jboss.jandex.ClassInfo actualEndpointClass, Map<String,Object> methodContext)
-
createEndpoints
protected List<ResourceMethod> createEndpoints(org.jboss.jandex.ClassInfo currentClassInfo, org.jboss.jandex.ClassInfo actualEndpointInfo, Set<String> seenMethods, Set<String> existingClassNameBindings, Set<String> pathParameters, String resourceClassPath, boolean considerApplication)
-
handleClientSubResource
protected void handleClientSubResource(ResourceMethod resourceMethod, org.jboss.jandex.MethodInfo method, org.jboss.jandex.IndexView index)
-
doesMethodHaveBlockingSignature
protected boolean doesMethodHaveBlockingSignature(org.jboss.jandex.MethodInfo info)
-
handleBeanParam
protected abstract boolean handleBeanParam(org.jboss.jandex.ClassInfo actualEndpointInfo, org.jboss.jandex.Type paramType, MethodParameter[] methodParameters, int i)
-
handleAdditionalMethodProcessing
protected void handleAdditionalMethodProcessing(METHOD method, org.jboss.jandex.ClassInfo currentClassInfo, org.jboss.jandex.MethodInfo info, AnnotationStore annotationStore)
-
scanInjectableBean
protected abstract InjectableBean scanInjectableBean(org.jboss.jandex.ClassInfo currentClassInfo, org.jboss.jandex.ClassInfo actualEndpointInfo, Map<String,String> existingConverters, AdditionalReaders additionalReaders, Map<String,InjectableBean> injectableBeans, boolean hasRuntimeConverters)
-
createMethodParameter
protected abstract MethodParameter createMethodParameter(org.jboss.jandex.ClassInfo currentClassInfo, org.jboss.jandex.ClassInfo actualEndpointInfo, boolean encoded, org.jboss.jandex.Type paramType, PARAM parameterResult, String name, String defaultValue, ParameterType type, String elementType, boolean single, String signature)
-
setupApplyDefaults
protected void setupApplyDefaults(org.jboss.jandex.Type nonAsyncReturnType, org.jboss.jandex.DotName httpMethod)
-
applyAdditionalDefaults
protected String[] applyAdditionalDefaults(org.jboss.jandex.Type nonAsyncReturnType)
-
addWriterForType
protected abstract void addWriterForType(AdditionalWriters additionalWriters, org.jboss.jandex.Type paramType)
-
addReaderForType
protected abstract void addReaderForType(AdditionalReaders additionalReaders, org.jboss.jandex.Type paramType)
-
extractProducesConsumesValues
public static String[] extractProducesConsumesValues(org.jboss.jandex.AnnotationInstance annotation, String[] defaultValue)
-
toClassName
protected static String toClassName(org.jboss.jandex.Type indexType, org.jboss.jandex.ClassInfo currentClass, org.jboss.jandex.ClassInfo actualEndpointClass, org.jboss.jandex.IndexView indexView)
-
createIndexedParam
protected abstract PARAM createIndexedParam()
-
extractParameterInfo
public PARAM extractParameterInfo(org.jboss.jandex.ClassInfo currentClassInfo, org.jboss.jandex.ClassInfo actualEndpointInfo, org.jboss.jandex.MethodInfo currentMethodInfo, Map<String,String> existingConverters, AdditionalReaders additionalReaders, Map<org.jboss.jandex.DotName,org.jboss.jandex.AnnotationInstance> anns, org.jboss.jandex.Type paramType, String errorLocation, boolean field, boolean hasRuntimeConverters, Set<String> pathParameters, String sourceName, String[] declaredConsumes, Map<String,Object> methodContext)
-
handleCustomParameter
protected boolean handleCustomParameter(Map<org.jboss.jandex.DotName,org.jboss.jandex.AnnotationInstance> anns, PARAM builder, org.jboss.jandex.Type paramType, boolean field, Map<String,Object> methodContext)
-
handlePathSegmentParam
protected void handlePathSegmentParam(PARAM builder)
-
handleTemporalParam
protected void handleTemporalParam(PARAM builder, org.jboss.jandex.DotName name, Map<org.jboss.jandex.DotName,org.jboss.jandex.AnnotationInstance> parameterAnnotations, org.jboss.jandex.MethodInfo currentMethodInfo)
-
getDeclaredTypes
protected EndpointIndexer.DeclaredTypes getDeclaredTypes(org.jboss.jandex.Type paramType, org.jboss.jandex.ClassInfo currentClassInfo, org.jboss.jandex.ClassInfo actualEndpointInfo)
-
handleOtherParam
protected void handleOtherParam(Map<String,String> existingConverters, String errorLocation, boolean hasRuntimeConverters, PARAM builder, String elementType)
-
handleSortedSetParam
protected void handleSortedSetParam(Map<String,String> existingConverters, String errorLocation, boolean hasRuntimeConverters, PARAM builder, String elementType)
-
handleOptionalParam
protected void handleOptionalParam(Map<String,String> existingConverters, Map<org.jboss.jandex.DotName,org.jboss.jandex.AnnotationInstance> parameterAnnotations, String errorLocation, boolean hasRuntimeConverters, PARAM builder, String elementType, String genericElementType, org.jboss.jandex.MethodInfo currentMethodInfo)
-
handleSetParam
protected void handleSetParam(Map<String,String> existingConverters, String errorLocation, boolean hasRuntimeConverters, PARAM builder, String elementType)
-
handleListParam
protected void handleListParam(Map<String,String> existingConverters, String errorLocation, boolean hasRuntimeConverters, PARAM builder, String elementType)
-
handleArrayParam
protected void handleArrayParam(Map<String,String> existingConverters, String errorLocation, boolean hasRuntimeConverters, PARAM builder, String elementType)
-
nameBindingNames
public Set<String> nameBindingNames(org.jboss.jandex.MethodInfo methodInfo, Set<String> forClass)
-
getAnnotationStore
protected AnnotationStore getAnnotationStore()
-
-