Class EndpointIndexer<T extends EndpointIndexer<T,​PARAM,​METHOD>,​PARAM extends IndexedParameter<PARAM>,​METHOD extends ResourceMethod>

    • 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
      • METHOD_CONTEXT_CUSTOM_RETURN_TYPE_KEY

        public static final String METHOD_CONTEXT_CUSTOM_RETURN_TYPE_KEY
        See Also:
        Constant Field Values
      • index

        protected final org.jboss.jandex.IndexView index
      • applicationIndex

        protected final org.jboss.jandex.IndexView applicationIndex
      • existingConverters

        protected final Map<String,​String> existingConverters
      • hasRuntimeConverters

        protected final boolean hasRuntimeConverters
    • 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)
      • handleTrailingSlash

        protected String handleTrailingSlash​(String path)
      • 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)
      • 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.ClassInfo selectedAppClass)
      • nameBindingNames

        public Set<String> nameBindingNames​(org.jboss.jandex.MethodInfo methodInfo,
                                            Set<String> forClass)
      • getPartMime

        protected String getPartMime​(Map<org.jboss.jandex.DotName,​org.jboss.jandex.AnnotationInstance> annotations)