T
- This must be the class of the injection annotation that this resolver
will handle@Contract public interface InjectionResolver<T>
An implementation of InjectionResolver must be in the Singleton scope.
Implementations of InjectionResolver will be instantiated as soon as
they are added to HK2 in order to avoid deadlocks and circular references.
Therefore it is recommended that implementations of InjectionResolver
make liberal use of Provider
or IterableProvider
when injecting dependent services so that these services are not instantiated
when the InjectionResolver is created
Modifier and Type | Field and Description |
---|---|
static String |
SYSTEM_RESOLVER_NAME
This is the name of the system provided resolver for 330 injections
|
Modifier and Type | Method and Description |
---|---|
boolean |
isConstructorParameterIndicator()
This method should return true if the annotation that indicates that this is
an injection point can appear in the parameter list of a constructor.
|
boolean |
isMethodParameterIndicator()
This method should return true if the annotation that indicates that this is
an injection point can appear in the parameter list of a method.
|
Object |
resolve(Injectee injectee,
ServiceHandle<?> root)
This method will return the object that should be injected into the given
injection point.
|
static final String SYSTEM_RESOLVER_NAME
Object resolve(Injectee injectee, ServiceHandle<?> root)
This method should not do the injection themselves
injectee
- The injection point this value is being injected intoroot
- The service handle of the root class being created, which should
be used in order to ensure proper destruction of associated &64;PerLookup
scoped objects. This can be null in the case that this is being used
for an object not managed by HK2. This will only happen if this
object is being created with the create method of ServiceLocator.boolean isConstructorParameterIndicator()
boolean isMethodParameterIndicator()
Copyright © 2009-2017, Oracle and/or its affiliates. All Rights Reserved.