Package org.glassfish.jersey.inject.hk2
Class DelayedHk2InjectionManager
- java.lang.Object
-
- org.glassfish.jersey.inject.hk2.AbstractHk2InjectionManager
-
- org.glassfish.jersey.inject.hk2.DelayedHk2InjectionManager
-
- All Implemented Interfaces:
InjectionManager
public class DelayedHk2InjectionManager extends AbstractHk2InjectionManager
Implementation ofInjectionManager
that is able to delay service's registration and injection tocompleteRegistration()
phase. During the Jersey bootstrap just keep the bindings and other operation for a later use.
-
-
Field Summary
Fields Modifier and Type Field Description private AbstractBinder
bindings
private boolean
completed
private java.util.List<org.glassfish.hk2.utilities.Binder>
providers
-
Constructor Summary
Constructors Constructor Description DelayedHk2InjectionManager(java.lang.Object parent)
Constructor with parent.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
completeRegistration()
CompletesInjectionManager
and the underlying DI provider.void
register(java.lang.Iterable<Binding> bindings)
Registers a collection of beans represented using fields in the provided descriptors.void
register(java.lang.Object provider)
Registers a provider.void
register(Binder binder)
Registers beans which are included inBinder
.void
register(Binding binding)
Registers one bean represented using fields in the provided descriptor.-
Methods inherited from class org.glassfish.jersey.inject.hk2.AbstractHk2InjectionManager
createAndInitialize, createForeignDescriptor, getAllInstances, getAllServiceHolders, getInstance, getInstance, getInstance, getInstance, getInstance, getServiceLocator, inject, inject, isRegistrable, preDestroy, shutdown
-
-
-
-
Field Detail
-
bindings
private final AbstractBinder bindings
-
providers
private final java.util.List<org.glassfish.hk2.utilities.Binder> providers
-
completed
private boolean completed
-
-
Constructor Detail
-
DelayedHk2InjectionManager
DelayedHk2InjectionManager(java.lang.Object parent)
Constructor with parent.- Parameters:
parent
- parent of typeInjectionManager
orServiceLocator
.
-
-
Method Detail
-
register
public void register(Binding binding)
Description copied from interface:InjectionManager
Registers one bean represented using fields in the provided descriptor. The final bean can be direct bean or factory object which will create the bean at the time of injection.InjectionManager
is able to register a bean represented by a class or direct instance.- Parameters:
binding
- one descriptor.- See Also:
ClassBinding
,InstanceBinding
,SupplierClassBinding
,SupplierInstanceBinding
-
register
public void register(java.lang.Iterable<Binding> bindings)
Description copied from interface:InjectionManager
Registers a collection of beans represented using fields in the provided descriptors. The final bean can be direct bean or factory object which will create the bean at the time of injection.InjectionManager
is able to register a bean represented by a class or direct instance.- Parameters:
bindings
- collection of descriptors.- See Also:
ClassBinding
,InstanceBinding
,SupplierClassBinding
,SupplierInstanceBinding
-
register
public void register(Binder binder)
Description copied from interface:InjectionManager
Registers beans which are included inBinder
.Binder
can contains all descriptors extendingBinding
or other binders which are installed together in tree-structure. This method will get all descriptors bound in the given binder and register them in the order how the binders are installed together. In the tree structure, the deeper on the left side will be processed first.- Parameters:
binder
- collection of descriptors.- See Also:
ClassBinding
,InstanceBinding
,SupplierClassBinding
,SupplierInstanceBinding
-
register
public void register(java.lang.Object provider) throws java.lang.IllegalArgumentException
Description copied from interface:InjectionManager
Registers a provider. An implementation of theInjectionManager
should test whether the type of the object can be registered using the methodInjectionManager.isRegistrable(Class)
. Then a caller has an certainty that the instance of the tested class can be registered inInjectionManager
. IfInjectionManager
is not able to register the provider thenIllegalArgumentException
is thrown.- Parameters:
provider
- object that can be registered inInjectionManager
.- Throws:
java.lang.IllegalArgumentException
- provider cannot be registered.
-
completeRegistration
public void completeRegistration() throws java.lang.IllegalStateException
Description copied from interface:InjectionManager
CompletesInjectionManager
and the underlying DI provider. All registered components are bound to injection manager and after an invocation of this method all components are available using e.g.InjectionManager.getInstance(Class)
.- Throws:
java.lang.IllegalStateException
-
-