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 String
getName()
Return a logical name for the injector.@Nullable Object
getValue
(@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 onlynull
if injector implements theAcceptsNullName
interface, 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
-