Class OSGiServiceInjector
java.lang.Object
org.apache.sling.models.impl.injectors.OSGiServiceInjector
- All Implemented Interfaces:
AcceptsNullName,Injector,StaticInjectAnnotationProcessorFactory
public class OSGiServiceInjector
extends Object
implements Injector, StaticInjectAnnotationProcessorFactory, AcceptsNullName
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidactivate(org.osgi.framework.BundleContext ctx) @NotNull StringgetName()Return a logical name for the injector.getValue(@NotNull Object adaptable, String name, @NotNull Type type, @NotNull AnnotatedElement element, @NotNull DisposalCallbackRegistry callbackRegistry) Produce a value for an injection point.getValue(@NotNull Object adaptable, String name, @NotNull Type type, @NotNull AnnotatedElement element, @NotNull DisposalCallbackRegistry callbackRegistry, @Nullable org.osgi.framework.BundleContext modelContext)
-
Constructor Details
-
OSGiServiceInjector
public OSGiServiceInjector()
-
-
Method Details
-
getName
Description copied from interface:InjectorReturn a logical name for the injector. Used in resolving@Source
annotations. -
activate
public void activate(org.osgi.framework.BundleContext ctx) -
getValue
public Object getValue(@NotNull @NotNull Object adaptable, String name, @NotNull @NotNull Type type, @NotNull @NotNull AnnotatedElement element, @NotNull @NotNull DisposalCallbackRegistry callbackRegistry) Description copied from interface:InjectorProduce a value for an injection point.- Specified by:
getValuein interfaceInjector- 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)type- 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
-
getValue
public Object getValue(@NotNull @NotNull Object adaptable, String name, @NotNull @NotNull Type type, @NotNull @NotNull AnnotatedElement element, @NotNull @NotNull DisposalCallbackRegistry callbackRegistry, @Nullable @Nullable org.osgi.framework.BundleContext modelContext) - Parameters:
adaptable- Adaptablename- Nametype- Typeelement- ElementcallbackRegistry- Callback registrymodelContext- Model context- Returns:
- Object
-
createAnnotationProcessor
- Specified by:
createAnnotationProcessorin interfaceStaticInjectAnnotationProcessorFactory- Parameters:
element- the field or method which is annotated- Returns:
- a ModelAnnotationProcessor in case there is a known injector-specific annotation on the given element found otherwise null
-