Class AbstractBinder
- java.lang.Object
-
- org.glassfish.jersey.internal.inject.AbstractBinder
-
- All Implemented Interfaces:
Binder
- Direct Known Subclasses:
CompositeBinder,MessagingBinders.HeaderDelegateProviders,MessagingBinders.MessageBodyProviders,ServiceFinderBinder
public abstract class AbstractBinder extends Object implements Binder
Implementation ofBinderinterface 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
Constructors Constructor Description AbstractBinder()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description <T> ClassBinding<T>bind(Class<T> serviceType)Start building a new class-based service binding.Bindingbind(Binding 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.ClassBinding<Object>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 voidconfigure()Implement to provide binding definitions using the exposed binding methods.protected <T> jakarta.inject.Provider<T>createManagedInstanceProvider(Class<T> clazz)Creates a new instance ofProviderwhich is able to retrieve a managed instance registered inInjectionManager.Collection<Binding>getBindings()Gets a collection of descriptors registered in this jersey binder.voidinstall(AbstractBinder... binders)Adds all binding definitions from the binders to the binding configuration.
-
-
-
Method Detail
-
configure
protected abstract void configure()
Implement to provide binding definitions using the exposed binding methods.
-
createManagedInstanceProvider
protected final <T> jakarta.inject.Provider<T> createManagedInstanceProvider(Class<T> clazz)
Creates a new instance ofProviderwhich is able to retrieve a managed instance registered inInjectionManager. IfInjectionManagerisnullat the time of callingProvider.get()thenIllegalStateExceptionis 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
public <T> ClassBinding<T> bind(Class<T> serviceType)
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
public Binding bind(Binding binding)
Binds the provided binding and return the same instance.- Parameters:
binding- binding.- Returns:
- the same provided binding.
-
bindAsContract
public <T> ClassBinding<T> bindAsContract(Class<T> serviceType)
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
public <T> ClassBinding<T> bindAsContract(GenericType<T> serviceType)
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
public ClassBinding<Object> bindAsContract(Type serviceType)
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
public <T> InstanceBinding<T> bind(T service)
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
public <T> SupplierClassBinding<T> bindFactory(Class<? extends Supplier<T>> supplierType)
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
public <T> SupplierInstanceBinding<T> bindFactory(Supplier<T> factory)
Start building a new supplier instance-based service binding.- Type Parameters:
T- service type.- Parameters:
factory- service instance.- Returns:
- initialized binding builder.
-
bind
public <T extends InjectionResolver> InjectionResolverBinding<T> bind(T resolver)
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
Bindingwill be ignored.- Type Parameters:
T- type of the injection resolver.- Parameters:
resolver- injection resolver instance.- Returns:
- initialized binding builder.
-
install
public final void install(AbstractBinder... binders)
Adds all binding definitions from the binders to the binding configuration.- Parameters:
binders- binders whose binding definitions should be configured.
-
getBindings
public Collection<Binding> getBindings()
Description copied from interface:BinderGets a collection of descriptors registered in this jersey binder.- Specified by:
getBindingsin interfaceBinder- Returns:
- collection of descriptors.
-
-