Package io.quarkus.security.spi
Class SecuredInterfaceAnnotationBuildItem
java.lang.Object
io.quarkus.builder.item.BuildItem
io.quarkus.builder.item.MultiBuildItem
io.quarkus.security.spi.SecuredInterfaceAnnotationBuildItem
public final class SecuredInterfaceAnnotationBuildItem
extends io.quarkus.builder.item.MultiBuildItem
Security annotations on interfaces are in most cases not inherited by interface implementors.
This build item allows to register interfaces whose implementors will inherit security annotations.
If this build item is used extensively, it can get very complex, and we would create situations,
where users can hardly tell precedence, like what will happen if different repeatable annotation instance
(like the
PermissionsAllowed annotation) is placed on both implemented and interface method.
Or does method-level interface annotation take precedence over implementors class-level annotation.
Examples could continue, for which reason we aim to support simple cases for now.
The all the implementors of interfaces matched by this build item annotation will inherit security annotations from interface methods and the interface class-level security annotations only apply directly on the methods declared on the interface. All scenarios that are supposed to work are tested. Any scenario that is not working is not yet supported.
-
Method Summary
Modifier and TypeMethodDescriptionorg.jboss.jandex.DotNamePredicate<org.jboss.jandex.ClassInfo> ofClassAnnotation(String annotationName) ofMethodAnnotation(Class<?> annotation)
-
Method Details
-
getIsInterfaceWithTransformations
-
getAnnotationName
public org.jboss.jandex.DotName getAnnotationName() -
ofClassAnnotation
-
ofMethodAnnotation
-