Package org.apache.sling.models.spi
Interface Injector
- All Known Implementing Classes:
BindingsInjector,ChildResourceInjector,ContextAwareConfigurationInjector,OSGiServiceInjector,RequestAttributeInjector,ResourcePathInjector,SelfInjector,SlingObjectInjector,ValueMapInjector
@ConsumerType
public interface Injector
Service interface for pluggable value injectors.
-
Method Summary
Modifier and TypeMethodDescription@NotNull StringgetName()Return a logical name for the injector.@Nullable ObjectgetValue(@NotNull Object adaptable, String name, @NotNull Type declaredType, @NotNull AnnotatedElement element, @NotNull DisposalCallbackRegistry callbackRegistry) Produce a value for an injection point.
-
Method Details
-
getName
Return a logical name for the injector. Used in resolving@Source
annotations.- Returns:
- the injector's name
-
getValue
@Nullable @Nullable Object getValue(@NotNull @NotNull Object adaptable, String name, @NotNull @NotNull Type declaredType, @NotNull @NotNull AnnotatedElement element, @NotNull @NotNull DisposalCallbackRegistry callbackRegistry) Produce a value for an injection point.- Parameters:
adaptable- the object which should be used as the basis for value resolution.name- the injection point name (may be onlynullif injector implements theAcceptsNullNameinterface, otherwise nevernull)declaredType- the declared type of the injection pointelement- the injection point itselfcallbackRegistry- a registry object to register a callback object which will be invoked when the adapted object is disposed.- Returns:
- the value to be injected or null if no value could be resolved
-