Package io.quarkus.arc.lookup
Annotation Type LookupUnlessProperty
-
@Repeatable(List.class) @Retention(RUNTIME) @Target({METHOD,TYPE,FIELD}) public @interface LookupUnlessProperty
Indicates that a bean should only be obtained by programmatic lookup if the property does not match the provided value.This annotation is repeatable. A bean will be included if all the conditions defined by the
LookupUnlessPropertyandLookupIfPropertyannotations are satisfied.interface Service { String name(); } @LookupUnlessProperty(name = "service.foo.disabled", stringValue = "true") @ApplicationScoped class ServiceFoo implements Service { public String name() { return "foo"; } } @ApplicationScoped class ServiceBar { public String name() { return "bar"; } } @ApplicationScoped class Client { @Inject Instance<Service> service; void printServiceName() { // This would print "bar" if the property of name "service.foo.disabled" is set to true // Note that service.get() would normally result in AmbiguousResolutionException System.out.println(service.get().name()); } }- See Also:
Instance
-
-
Required Element Summary
Required Elements Modifier and Type Required Element Description StringnameName of the runtime time property to checkStringstringValueExpectedStringvalue of the runtime time property (specified byname) if the bean should be skipped at runtime.
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description booleanlookupIfMissingDetermines if the bean should be suppressed when the property name specified bynamehas not been specified at all
-