in extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/InjectionPointsProcessor.java [159:195]
void annotationsTransformers(
BuildProducer<AnnotationsTransformerBuildItem> annotationsTransformers) {
annotationsTransformers.produce(new AnnotationsTransformerBuildItem(new AnnotationsTransformer() {
public boolean appliesTo(org.jboss.jandex.AnnotationTarget.Kind kind) {
return kind == Kind.FIELD || kind == Kind.METHOD;
}
@Override
public void transform(TransformationContext ctx) {
final AnnotationTarget target = ctx.getTarget();
switch (target.kind()) {
case FIELD: {
final FieldInfo fieldInfo = target.asField();
if (fieldInfo.annotation(ENDPOINT_INJECT_ANNOTATION) != null
|| fieldInfo.annotation(PRODUCE_ANNOTATION) != null) {
ctx.transform().add(Inject.class).done();
}
break;
}
case METHOD: {
final MethodInfo methodInfo = target.asMethod();
fail(methodInfo, ENDPOINT_INJECT_ANNOTATION);
fail(methodInfo, PRODUCE_ANNOTATION);
break;
}
default:
throw new IllegalStateException("Expected only field or method, got " + target.kind());
}
}
}));
}