Class SmallRyeOpenApiProcessor

java.lang.Object
io.quarkus.smallrye.openapi.deployment.SmallRyeOpenApiProcessor

public class SmallRyeOpenApiProcessor extends Object
The main OpenAPI Processor. This will scan for JAX-RS, Spring and Vert.x Annotations, and, if any, add supplied schemas. The result is added to the deployable unit to be loaded at runtime.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    (package private) void
    addAutoFilters(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.smallrye.openapi.deployment.spi.AddToOpenAPIDefinitionBuildItem> addToOpenAPIDefinitionProducer, List<io.quarkus.vertx.http.deployment.SecurityInformationBuildItem> securityInformationBuildItems, OpenApiFilteredIndexViewBuildItem apiFilteredIndexViewBuildItem, io.quarkus.smallrye.openapi.common.deployment.SmallRyeOpenApiConfig config, io.quarkus.deployment.builditem.LaunchModeBuildItem launchModeBuildItem, io.quarkus.vertx.http.runtime.management.ManagementInterfaceBuildTimeConfig managementBuildTimeConfig, Optional<io.quarkus.security.spi.SecurityTransformerBuildItem> securityTransformerBuildItem)
     
    (package private) void
    addAutoOpenApiEndpointFilter(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.smallrye.openapi.deployment.spi.AddToOpenAPIDefinitionBuildItem> addToOpenAPIDefinitionProducer, io.quarkus.smallrye.openapi.common.deployment.SmallRyeOpenApiConfig config)
     
    (package private) void
    additionalBean(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.AdditionalBeanBuildItem> additionalBeanProducer)
     
    (package private) void
    addMethodImplementationClassNames(org.jboss.jandex.MethodInfo method, org.jboss.jandex.Type[] params, Collection<org.jboss.jandex.ClassInfo> classes, Map<String,ClassAndMethod> classNames)
     
    void
    build(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.GeneratedResourceBuildItem> resourceBuildItemBuildProducer, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBuildItem> nativeImageResources, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.smallrye.openapi.deployment.spi.OpenApiDocumentBuildItem> openApiDocumentProducer, OpenApiFilteredIndexViewBuildItem openApiFilteredIndexViewBuildItem, io.quarkus.deployment.Capabilities capabilities, List<io.quarkus.smallrye.openapi.deployment.spi.AddToOpenAPIDefinitionBuildItem> openAPIBuildItems, io.quarkus.vertx.http.deployment.HttpRootPathBuildItem httpRootPathBuildItem, io.quarkus.smallrye.openapi.common.deployment.SmallRyeOpenApiConfig smallRyeOpenApiConfig, io.quarkus.deployment.pkg.builditem.OutputTargetBuildItem outputTargetBuildItem, List<io.quarkus.smallrye.openapi.deployment.spi.IgnoreStaticDocumentBuildItem> ignoreStaticDocumentBuildItems)
     
    (package private) void
    configFiles(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.HotDeploymentWatchedFileBuildItem> watchedFiles, io.quarkus.smallrye.openapi.common.deployment.SmallRyeOpenApiConfig openApiConfig, io.quarkus.deployment.builditem.LaunchModeBuildItem launchMode, io.quarkus.deployment.pkg.builditem.OutputTargetBuildItem outputTargetBuildItem)
     
    (package private) void
    contributeClassesToIndex(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.AdditionalIndexedClassesBuildItem> additionalIndexedClasses)
     
    static String
    createUniqueMethodReference(org.jboss.jandex.ClassInfo classInfo, org.jboss.jandex.MethodInfo methodInfo)
     
    (package private) io.quarkus.deployment.builditem.FeatureBuildItem
     
    (package private) void
    handler(io.quarkus.deployment.builditem.LaunchModeBuildItem launch, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.vertx.http.deployment.devmode.NotFoundPageDisplayableEndpointBuildItem> displayableEndpoints, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.vertx.http.deployment.spi.RouteBuildItem> routes, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.SystemPropertyBuildItem> systemProperties, io.quarkus.smallrye.openapi.runtime.OpenApiRecorder recorder, io.quarkus.vertx.http.deployment.NonApplicationRootPathBuildItem nonApplicationRootPathBuildItem, io.quarkus.deployment.builditem.ShutdownContextBuildItem shutdownContext, io.quarkus.smallrye.openapi.common.deployment.SmallRyeOpenApiConfig openApiConfig, List<io.quarkus.vertx.http.deployment.FilterBuildItem> filterBuildItems, io.quarkus.vertx.http.runtime.management.ManagementInterfaceBuildTimeConfig managementBuildTimeConfig)
     
    (package private) io.quarkus.deployment.logging.LogCleanupFilterBuildItem
     
    (package private) void
    prepareDocuments(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> reflectiveClass, OpenApiFilteredIndexViewBuildItem apiFilteredIndexViewBuildItem, List<io.quarkus.vertx.http.deployment.SecurityInformationBuildItem> securityInformationBuildItems, io.quarkus.smallrye.openapi.runtime.OpenApiRecorder recorder, io.quarkus.smallrye.openapi.common.deployment.SmallRyeOpenApiConfig openApiConfig, io.quarkus.deployment.builditem.LaunchModeBuildItem launch, Optional<io.quarkus.security.spi.SecurityTransformerBuildItem> securityTransformerBuildItem)
     
    (package private) void
    registerAnnotatedUserDefinedRuntimeFilters(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> reflectiveClass, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.UnremovableBeanBuildItem> unremovableBeans, OpenApiFilteredIndexViewBuildItem openApiFilteredIndexViewBuildItem, io.quarkus.smallrye.openapi.runtime.OpenApiRecorder recorder)
     
    List<io.quarkus.resteasy.server.common.spi.AllowedJaxRsAnnotationPrefixBuildItem>
     
    (package private) void
    registerNativeImageResources(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ServiceProviderBuildItem> serviceProvider)
     
    void
    registerOpenApiSchemaClassesForReflection(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> reflectiveClass, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveHierarchyBuildItem> reflectiveHierarchy, OpenApiFilteredIndexViewBuildItem openApiFilteredIndexViewBuildItem, io.quarkus.deployment.Capabilities capabilities)
     
    smallryeOpenApiIndex(io.quarkus.deployment.builditem.CombinedIndexBuildItem combinedIndexBuildItem, io.quarkus.arc.deployment.BeanArchiveIndexBuildItem beanArchiveIndexBuildItem, io.quarkus.arc.deployment.BuildExclusionsBuildItem buildExclusionsBuildItem)
     
    (package private) io.smallrye.openapi.api.OpenApiDocument
    toOpenApiDocument(io.smallrye.openapi.api.SmallRyeOpenAPI finalOpenAPI)
    We need to use the deprecated OpenApiDocument as long as OpenApiDocumentBuildItem needs to be produced.
    (package private) void
    validateOpenApiFilterDocumentNames(io.quarkus.smallrye.openapi.common.deployment.SmallRyeOpenApiConfig config, OpenApiFilteredIndexViewBuildItem openApiFilteredIndexViewBuildItem)
     

    Methods inherited from class java.lang.Object

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

    • SmallRyeOpenApiProcessor

      public SmallRyeOpenApiProcessor()
  • Method Details

    • feature

      io.quarkus.deployment.builditem.FeatureBuildItem feature()
    • contributeClassesToIndex

      void contributeClassesToIndex(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.AdditionalIndexedClassesBuildItem> additionalIndexedClasses)
    • registerNativeImageResources

      void registerNativeImageResources(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ServiceProviderBuildItem> serviceProvider)
    • configFiles

      void configFiles(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.HotDeploymentWatchedFileBuildItem> watchedFiles, io.quarkus.smallrye.openapi.common.deployment.SmallRyeOpenApiConfig openApiConfig, io.quarkus.deployment.builditem.LaunchModeBuildItem launchMode, io.quarkus.deployment.pkg.builditem.OutputTargetBuildItem outputTargetBuildItem)
    • prepareDocuments

      void prepareDocuments(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> reflectiveClass, OpenApiFilteredIndexViewBuildItem apiFilteredIndexViewBuildItem, List<io.quarkus.vertx.http.deployment.SecurityInformationBuildItem> securityInformationBuildItems, io.quarkus.smallrye.openapi.runtime.OpenApiRecorder recorder, io.quarkus.smallrye.openapi.common.deployment.SmallRyeOpenApiConfig openApiConfig, io.quarkus.deployment.builditem.LaunchModeBuildItem launch, Optional<io.quarkus.security.spi.SecurityTransformerBuildItem> securityTransformerBuildItem)
    • registerAnnotatedUserDefinedRuntimeFilters

      void registerAnnotatedUserDefinedRuntimeFilters(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> reflectiveClass, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.UnremovableBeanBuildItem> unremovableBeans, OpenApiFilteredIndexViewBuildItem openApiFilteredIndexViewBuildItem, io.quarkus.smallrye.openapi.runtime.OpenApiRecorder recorder)
    • validateOpenApiFilterDocumentNames

      void validateOpenApiFilterDocumentNames(io.quarkus.smallrye.openapi.common.deployment.SmallRyeOpenApiConfig config, OpenApiFilteredIndexViewBuildItem openApiFilteredIndexViewBuildItem)
    • handler

      void handler(io.quarkus.deployment.builditem.LaunchModeBuildItem launch, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.vertx.http.deployment.devmode.NotFoundPageDisplayableEndpointBuildItem> displayableEndpoints, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.vertx.http.deployment.spi.RouteBuildItem> routes, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.SystemPropertyBuildItem> systemProperties, io.quarkus.smallrye.openapi.runtime.OpenApiRecorder recorder, io.quarkus.vertx.http.deployment.NonApplicationRootPathBuildItem nonApplicationRootPathBuildItem, io.quarkus.deployment.builditem.ShutdownContextBuildItem shutdownContext, io.quarkus.smallrye.openapi.common.deployment.SmallRyeOpenApiConfig openApiConfig, List<io.quarkus.vertx.http.deployment.FilterBuildItem> filterBuildItems, io.quarkus.vertx.http.runtime.management.ManagementInterfaceBuildTimeConfig managementBuildTimeConfig)
    • additionalBean

      void additionalBean(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.AdditionalBeanBuildItem> additionalBeanProducer)
    • smallryeOpenApiIndex

      OpenApiFilteredIndexViewBuildItem smallryeOpenApiIndex(io.quarkus.deployment.builditem.CombinedIndexBuildItem combinedIndexBuildItem, io.quarkus.arc.deployment.BeanArchiveIndexBuildItem beanArchiveIndexBuildItem, io.quarkus.arc.deployment.BuildExclusionsBuildItem buildExclusionsBuildItem)
    • addAutoOpenApiEndpointFilter

      void addAutoOpenApiEndpointFilter(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.smallrye.openapi.deployment.spi.AddToOpenAPIDefinitionBuildItem> addToOpenAPIDefinitionProducer, io.quarkus.smallrye.openapi.common.deployment.SmallRyeOpenApiConfig config)
    • addAutoFilters

      void addAutoFilters(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.smallrye.openapi.deployment.spi.AddToOpenAPIDefinitionBuildItem> addToOpenAPIDefinitionProducer, List<io.quarkus.vertx.http.deployment.SecurityInformationBuildItem> securityInformationBuildItems, OpenApiFilteredIndexViewBuildItem apiFilteredIndexViewBuildItem, io.quarkus.smallrye.openapi.common.deployment.SmallRyeOpenApiConfig config, io.quarkus.deployment.builditem.LaunchModeBuildItem launchModeBuildItem, io.quarkus.vertx.http.runtime.management.ManagementInterfaceBuildTimeConfig managementBuildTimeConfig, Optional<io.quarkus.security.spi.SecurityTransformerBuildItem> securityTransformerBuildItem)
    • addMethodImplementationClassNames

      void addMethodImplementationClassNames(org.jboss.jandex.MethodInfo method, org.jboss.jandex.Type[] params, Collection<org.jboss.jandex.ClassInfo> classes, Map<String,ClassAndMethod> classNames)
    • createUniqueMethodReference

      public static String createUniqueMethodReference(org.jboss.jandex.ClassInfo classInfo, org.jboss.jandex.MethodInfo methodInfo)
    • registerJaxRsSupportedAnnotation

      public List<io.quarkus.resteasy.server.common.spi.AllowedJaxRsAnnotationPrefixBuildItem> registerJaxRsSupportedAnnotation()
    • registerOpenApiSchemaClassesForReflection

      public void registerOpenApiSchemaClassesForReflection(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> reflectiveClass, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveHierarchyBuildItem> reflectiveHierarchy, OpenApiFilteredIndexViewBuildItem openApiFilteredIndexViewBuildItem, io.quarkus.deployment.Capabilities capabilities)
    • build

      public void build(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.GeneratedResourceBuildItem> resourceBuildItemBuildProducer, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBuildItem> nativeImageResources, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.smallrye.openapi.deployment.spi.OpenApiDocumentBuildItem> openApiDocumentProducer, OpenApiFilteredIndexViewBuildItem openApiFilteredIndexViewBuildItem, io.quarkus.deployment.Capabilities capabilities, List<io.quarkus.smallrye.openapi.deployment.spi.AddToOpenAPIDefinitionBuildItem> openAPIBuildItems, io.quarkus.vertx.http.deployment.HttpRootPathBuildItem httpRootPathBuildItem, io.quarkus.smallrye.openapi.common.deployment.SmallRyeOpenApiConfig smallRyeOpenApiConfig, io.quarkus.deployment.pkg.builditem.OutputTargetBuildItem outputTargetBuildItem, List<io.quarkus.smallrye.openapi.deployment.spi.IgnoreStaticDocumentBuildItem> ignoreStaticDocumentBuildItems)
    • toOpenApiDocument

      io.smallrye.openapi.api.OpenApiDocument toOpenApiDocument(io.smallrye.openapi.api.SmallRyeOpenAPI finalOpenAPI)
      We need to use the deprecated OpenApiDocument as long as OpenApiDocumentBuildItem needs to be produced.
    • logCleanup

      io.quarkus.deployment.logging.LogCleanupFilterBuildItem logCleanup()