Class VetoingAnnotationTransformer

  • All Implemented Interfaces:
    io.quarkus.arc.processor.AnnotationsTransformer, io.quarkus.arc.processor.BuildExtension

    public class VetoingAnnotationTransformer
    extends Object
    implements io.quarkus.arc.processor.AnnotationsTransformer
    If a JAX-RS resource uses something like @QueryParam, @HeaderParam or the like in a constructor parameter, then we need to make sure that Arc doesn't create a bean for it automatically (as it will fail validation because there is no way to pass the parameter). For these resources we add Vetoed, and we generate custom CDI producers under the hood in io.quarkus.resteasy.reactive.server.deployment.CustomResourceProducersGenerator#generate.
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface io.quarkus.arc.processor.AnnotationsTransformer

        io.quarkus.arc.processor.AnnotationsTransformer.AbstractBuilder<THIS extends io.quarkus.arc.processor.AnnotationsTransformer.AbstractBuilder<THIS>>, io.quarkus.arc.processor.AnnotationsTransformer.Builder, io.quarkus.arc.processor.AnnotationsTransformer.ClassTransformerBuilder, io.quarkus.arc.processor.AnnotationsTransformer.FieldTransformerBuilder, io.quarkus.arc.processor.AnnotationsTransformer.MethodTransformerBuilder, io.quarkus.arc.processor.AnnotationsTransformer.TransformationContext
      • Nested classes/interfaces inherited from interface io.quarkus.arc.processor.BuildExtension

        io.quarkus.arc.processor.BuildExtension.BuildContext, io.quarkus.arc.processor.BuildExtension.Key<T extends Object>, io.quarkus.arc.processor.BuildExtension.SimpleKey<V extends Object>
    • Field Summary

      • Fields inherited from interface io.quarkus.arc.processor.BuildExtension

        DEFAULT_PRIORITY
    • Constructor Detail

      • VetoingAnnotationTransformer

        public VetoingAnnotationTransformer​(Set<org.jboss.jandex.DotName> resourcesThatNeedCustomProducer)
    • Method Detail

      • appliesTo

        public boolean appliesTo​(org.jboss.jandex.AnnotationTarget.Kind kind)
        Specified by:
        appliesTo in interface io.quarkus.arc.processor.AnnotationsTransformer
      • transform

        public void transform​(io.quarkus.arc.processor.AnnotationsTransformer.TransformationContext context)
        Specified by:
        transform in interface io.quarkus.arc.processor.AnnotationsTransformer