Class QuarkusServerEndpointIndexer

java.lang.Object
org.jboss.resteasy.reactive.common.processor.EndpointIndexer<org.jboss.resteasy.reactive.server.processor.ServerEndpointIndexer,org.jboss.resteasy.reactive.server.processor.ServerIndexedParameter,org.jboss.resteasy.reactive.server.model.ServerResourceMethod>
org.jboss.resteasy.reactive.server.processor.ServerEndpointIndexer
io.quarkus.resteasy.reactive.server.deployment.QuarkusServerEndpointIndexer

public class QuarkusServerEndpointIndexer extends org.jboss.resteasy.reactive.server.processor.ServerEndpointIndexer
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static final class 
     

    Nested classes/interfaces inherited from class org.jboss.resteasy.reactive.server.processor.ServerEndpointIndexer

    org.jboss.resteasy.reactive.server.processor.ServerEndpointIndexer.AbstractBuilder<B extends org.jboss.resteasy.reactive.common.processor.EndpointIndexer.Builder<org.jboss.resteasy.reactive.server.processor.ServerEndpointIndexer,B,org.jboss.resteasy.reactive.server.model.ServerResourceMethod>>, org.jboss.resteasy.reactive.server.processor.ServerEndpointIndexer.ConverterSupplierIndexerExtension, org.jboss.resteasy.reactive.server.processor.ServerEndpointIndexer.FieldInjectionIndexerExtension

    Nested classes/interfaces inherited from class org.jboss.resteasy.reactive.common.processor.EndpointIndexer

    org.jboss.resteasy.reactive.common.processor.EndpointIndexer.BasicResourceClassInfo, org.jboss.resteasy.reactive.common.processor.EndpointIndexer.DeclaredTypes, org.jboss.resteasy.reactive.common.processor.EndpointIndexer.MultipartParameterIndexerExtension, org.jboss.resteasy.reactive.common.processor.EndpointIndexer.MultipartReturnTypeIndexerExtension, org.jboss.resteasy.reactive.common.processor.EndpointIndexer.ResourceMethodCallbackEntry
  • Field Summary

    Fields inherited from class org.jboss.resteasy.reactive.server.processor.ServerEndpointIndexer

    converterSupplierIndexerExtension, endpointInvokerFactory, fieldInjectionHandler, methodScanners, removesTrailingSlash

    Fields 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

    Constructors
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    additionalRegisterClassForReflectionCheck(org.jboss.resteasy.reactive.common.processor.EndpointIndexer.ResourceMethodCallbackEntry entry)
     
    protected String[]
    applyAdditionalDefaults(org.jboss.jandex.Type nonAsyncReturnType)
     
    protected void
    handleAdditionalMethodProcessing(org.jboss.resteasy.reactive.server.model.ServerResourceMethod method, org.jboss.jandex.ClassInfo currentClassInfo, org.jboss.jandex.MethodInfo info, org.jboss.resteasy.reactive.common.processor.transformation.AnnotationStore annotationStore)
     
    protected boolean
    handleCustomParameter(Map<org.jboss.jandex.DotName,org.jboss.jandex.AnnotationInstance> anns, org.jboss.resteasy.reactive.server.processor.ServerIndexedParameter builder, org.jboss.jandex.Type paramType, boolean field, Map<String,Object> methodContext)
     
    protected void
    logMissingJsonWarning(org.jboss.jandex.MethodInfo info)
     
    protected void
    setupApplyDefaults(org.jboss.jandex.Type nonAsyncReturnType, org.jboss.jandex.DotName httpMethod)
     
    protected void
    verifyClassThatRequiresFieldInjection(org.jboss.jandex.ClassInfo classInfo)
    At this point we know exactly which resources will require field injection and therefore are required to be RequestScoped.
    protected void
    warnAboutMissUsedBodyParameter(org.jboss.jandex.DotName httpMethod, org.jboss.jandex.MethodInfo methodInfo)
     

    Methods inherited from class org.jboss.resteasy.reactive.server.processor.ServerEndpointIndexer

    addReaderForType, addWriterForType, createIndexedParam, createMethodParameter, createResourceMethod, doesMethodHaveBlockingSignature, findEndpointImplementation, handleArrayParam, handleBeanParam, handleListParam, handleOptionalParam, handleOtherParam, handlePathSegmentParam, handleSetParam, handleSortedSetParam, handleTemporalParam, handleTrailingSlash, scanInjectableBean

    Methods inherited from class org.jboss.resteasy.reactive.common.processor.EndpointIndexer

    createEndpoints, createEndpoints, extractParameterInfo, extractProducesConsumesValues, getAnnotationStore, getDeclaredTypes, getPartMime, getSeparator, getSerializerScanningResult, handleClientSubResource, hasJson, hasJson, hasNoTypesDefined, isDefaultJson, isJson, nameBindingNames, nameBindingNames, skipParameter, toClassName, warnAboutMissingJsonProviderIfNeeded

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • Method Details

    • setupApplyDefaults

      protected void setupApplyDefaults(org.jboss.jandex.Type nonAsyncReturnType, org.jboss.jandex.DotName httpMethod)
      Overrides:
      setupApplyDefaults in class org.jboss.resteasy.reactive.common.processor.EndpointIndexer<org.jboss.resteasy.reactive.server.processor.ServerEndpointIndexer,org.jboss.resteasy.reactive.server.processor.ServerIndexedParameter,org.jboss.resteasy.reactive.server.model.ServerResourceMethod>
    • applyAdditionalDefaults

      protected String[] applyAdditionalDefaults(org.jboss.jandex.Type nonAsyncReturnType)
      Overrides:
      applyAdditionalDefaults in class org.jboss.resteasy.reactive.common.processor.EndpointIndexer<org.jboss.resteasy.reactive.server.processor.ServerEndpointIndexer,org.jboss.resteasy.reactive.server.processor.ServerIndexedParameter,org.jboss.resteasy.reactive.server.model.ServerResourceMethod>
    • handleCustomParameter

      protected boolean handleCustomParameter(Map<org.jboss.jandex.DotName,org.jboss.jandex.AnnotationInstance> anns, org.jboss.resteasy.reactive.server.processor.ServerIndexedParameter builder, org.jboss.jandex.Type paramType, boolean field, Map<String,Object> methodContext)
      Overrides:
      handleCustomParameter in class org.jboss.resteasy.reactive.server.processor.ServerEndpointIndexer
    • handleAdditionalMethodProcessing

      protected void handleAdditionalMethodProcessing(org.jboss.resteasy.reactive.server.model.ServerResourceMethod method, org.jboss.jandex.ClassInfo currentClassInfo, org.jboss.jandex.MethodInfo info, org.jboss.resteasy.reactive.common.processor.transformation.AnnotationStore annotationStore)
      Overrides:
      handleAdditionalMethodProcessing in class org.jboss.resteasy.reactive.server.processor.ServerEndpointIndexer
    • additionalRegisterClassForReflectionCheck

      public boolean additionalRegisterClassForReflectionCheck(org.jboss.resteasy.reactive.common.processor.EndpointIndexer.ResourceMethodCallbackEntry entry)
      Overrides:
      additionalRegisterClassForReflectionCheck in class org.jboss.resteasy.reactive.common.processor.EndpointIndexer<org.jboss.resteasy.reactive.server.processor.ServerEndpointIndexer,org.jboss.resteasy.reactive.server.processor.ServerIndexedParameter,org.jboss.resteasy.reactive.server.model.ServerResourceMethod>
    • logMissingJsonWarning

      protected void logMissingJsonWarning(org.jboss.jandex.MethodInfo info)
      Overrides:
      logMissingJsonWarning in class org.jboss.resteasy.reactive.common.processor.EndpointIndexer<org.jboss.resteasy.reactive.server.processor.ServerEndpointIndexer,org.jboss.resteasy.reactive.server.processor.ServerIndexedParameter,org.jboss.resteasy.reactive.server.model.ServerResourceMethod>
    • warnAboutMissUsedBodyParameter

      protected void warnAboutMissUsedBodyParameter(org.jboss.jandex.DotName httpMethod, org.jboss.jandex.MethodInfo methodInfo)
      Overrides:
      warnAboutMissUsedBodyParameter in class org.jboss.resteasy.reactive.common.processor.EndpointIndexer<org.jboss.resteasy.reactive.server.processor.ServerEndpointIndexer,org.jboss.resteasy.reactive.server.processor.ServerIndexedParameter,org.jboss.resteasy.reactive.server.model.ServerResourceMethod>
    • verifyClassThatRequiresFieldInjection

      protected void verifyClassThatRequiresFieldInjection(org.jboss.jandex.ClassInfo classInfo)
      At this point we know exactly which resources will require field injection and therefore are required to be RequestScoped. We can't change anything CDI related at this point (because it would create build cycles), so all we can do is fail the build if the resource has not already been handled automatically (by the best effort approach performed elsewhere) or it's not manually set to be RequestScoped.
      Overrides:
      verifyClassThatRequiresFieldInjection in class org.jboss.resteasy.reactive.common.processor.EndpointIndexer<org.jboss.resteasy.reactive.server.processor.ServerEndpointIndexer,org.jboss.resteasy.reactive.server.processor.ServerIndexedParameter,org.jboss.resteasy.reactive.server.model.ServerResourceMethod>