Class AbstractBinder
java.lang.Object
org.glassfish.jersey.internal.inject.AbstractBinder
- All Implemented Interfaces:
Binder
- Direct Known Subclasses:
CompositeBinder
,ContextInjectionResolverImpl.Binder
,JaxbMessagingBinder
,JaxbParamConverterBinder
,MappableExceptionWrapperInterceptor.Binder
,MessagingBinders.HeaderDelegateProviders
,MessagingBinders.MessageBodyProviders
,MonitoringContainerListener.Binder
,PersistenceUnitBinder
,ServiceFinderBinder
,SseBinder
Implementation of
Binder
interface dedicated to keep some level of code compatibility between previous HK2
implementation and new DI SPI.
Currently, there are supported only bind method and more complicated method where HK2 interfaces are required were omitted.
- Author:
- Petr Bouda
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescription<T> ClassBinding<T>
Start building a new class-based service binding.Binds the provided binding and return the same instance.<T> InstanceBinding<T>
bind
(T service) Start building a new instance-based service binding.<T> ClassBinding<T>
bindAsContract
(GenericType<T> serviceType) Start building a new generic type-based service binding.<T> ClassBinding<T>
bindAsContract
(Class<T> serviceType) Start building a new class-based service binding.bindAsContract
(Type serviceType) Start building a new generic type-based service binding.<T> SupplierClassBinding<T>
bindFactory
(Class<? extends Supplier<T>> supplierType) Start building a new supplier class-based service binding.<T> SupplierClassBinding<T>
bindFactory
(Class<? extends Supplier<T>> supplierType, Class<? extends Annotation> supplierScope) Start building a new supplier class-based service binding.<T> SupplierInstanceBinding<T>
bindFactory
(Supplier<T> factory) Start building a new supplier instance-based service binding.protected abstract void
Implement to provide binding definitions using the exposed binding methods.protected final <T> jakarta.inject.Provider<T>
createManagedInstanceProvider
(Class<T> clazz) Creates a new instance ofProvider
which is able to retrieve a managed instance registered inInjectionManager
.Gets a collection of descriptors registered in this jersey binder.final void
install
(AbstractBinder... binders) Adds all binding definitions from the binders to the binding configuration.
-
Constructor Details
-
AbstractBinder
public AbstractBinder()
-
-
Method Details
-
configure
protected abstract void configure()Implement to provide binding definitions using the exposed binding methods. -
createManagedInstanceProvider
Creates a new instance ofProvider
which is able to retrieve a managed instance registered inInjectionManager
. IfInjectionManager
isnull
at the time of callingProvider.get()
thenIllegalStateException
is thrown.- Type Parameters:
T
- type of the managed instance returned using provider.- Parameters:
clazz
- class of managed instance.- Returns:
- provider with instance of managed instance.
-
bind
Start building a new class-based service binding.Does NOT bind the service type itself as a contract type.
- Type Parameters:
T
- service type.- Parameters:
serviceType
- service class.- Returns:
- initialized binding builder.
-
bind
Binds the provided binding and return the same instance.- Parameters:
binding
- binding.- Returns:
- the same provided binding.
-
bindAsContract
Start building a new class-based service binding.Binds the service type itself as a contract type.
- Type Parameters:
T
- service type.- Parameters:
serviceType
- service class.- Returns:
- initialized binding builder.
-
bindAsContract
Start building a new generic type-based service binding.Binds the generic service type itself as a contract type.
- Type Parameters:
T
- service type.- Parameters:
serviceType
- generic service type information.- Returns:
- initialized binding builder.
-
bindAsContract
Start building a new generic type-based service binding.Binds the generic service type itself as a contract type.
- Parameters:
serviceType
- generic service type information.- Returns:
- initialized binding builder.
-
bind
Start building a new instance-based service binding. The binding is naturally considered to be asingleton-scoped
.Does NOT bind the service type itself as a contract type.
- Type Parameters:
T
- service type.- Parameters:
service
- service instance.- Returns:
- initialized binding builder.
-
bindFactory
public <T> SupplierClassBinding<T> bindFactory(Class<? extends Supplier<T>> supplierType, Class<? extends Annotation> supplierScope) Start building a new supplier class-based service binding.- Type Parameters:
T
- service type.- Parameters:
supplierType
- service supplier class.supplierScope
- factory scope.- Returns:
- initialized binding builder.
-
bindFactory
Start building a new supplier class-based service binding.The supplier itself is bound in a per-lookup scope.
- Type Parameters:
T
- service type.- Parameters:
supplierType
- service supplier class.- Returns:
- initialized binding builder.
-
bindFactory
Start building a new supplier instance-based service binding.- Type Parameters:
T
- service type.- Parameters:
factory
- service instance.- Returns:
- initialized binding builder.
-
bind
Start building a new injection resolver binding. The injection resolver is naturally considered to be asingleton-scoped
.There is no need to provide any additional information. Other method on
Binding
will be ignored.- Type Parameters:
T
- type of the injection resolver.- Parameters:
resolver
- injection resolver instance.- Returns:
- initialized binding builder.
-
install
Adds all binding definitions from the binders to the binding configuration.- Parameters:
binders
- binders whose binding definitions should be configured.
-
getBindings
Description copied from interface:Binder
Gets a collection of descriptors registered in this jersey binder.- Specified by:
getBindings
in interfaceBinder
- Returns:
- collection of descriptors.
-