Class ProviderBinder
- java.lang.Object
-
- org.glassfish.jersey.internal.inject.ProviderBinder
-
public class ProviderBinder extends Object
Class used for registration of the custom providers into injection manager.Custom providers are classes that implements specific JAX-RS or Jersey SPI interfaces (e.g.
MessageBodyReader) and are supplied by the user. These providers will be bound into the injection manager annotated by a@Customqualifier annotation.Use the
@Customqualifier annotation to retrieve these providers from injection manager. You may also use a one of the provider accessor utility method defined inProvidersclass.- Author:
- Miroslav Fuksa, Marek Potociar, Michal Gajdos
-
-
Constructor Summary
Constructors Constructor Description ProviderBinder(InjectionManager injectionManager)Create new provider binder instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidbindClasses(Class<?>... classes)Register/bind custom provider classes.voidbindClasses(Iterable<Class<?>> classes)Register/bind custom provider classes.voidbindClasses(Collection<Class<?>> classes)Register/bind custom provider classes.voidbindClasses(Collection<Class<?>> classes, boolean bindResources)Register/bind custom provider classes that may also be resources.voidbindInstances(Iterable<Object> instances)Register/bind custom provider instances.voidbindInstances(Collection<Object> instances)Register/bind custom provider instances.static <T> voidbindProvider(Class<T> providerClass, ContractProvider model, InjectionManager injectionManager)Bind contract provider model to a provider class using the supplied injection manager.static voidbindProvider(Object providerInstance, ContractProvider model, InjectionManager injectionManager)Bind contract provider model to a provider instance using the supplied injection manager.static voidbindProviders(ComponentBag componentBag, RuntimeType constrainedTo, Set<Class<?>> registeredClasses, InjectionManager injectionManager)Deprecated.static voidbindProviders(ComponentBag componentBag, RuntimeType constrainedTo, Set<Class<?>> registeredClasses, InjectionManager injectionManager, Collection<ComponentProvider> componentProviders)Bind all providers contained inproviderBag(classes and instances) using injection manager.static voidbindProviders(ComponentBag componentBag, InjectionManager injectionManager)Bind all providers contained inproviderBag(classes and instances) using injection manager.
-
-
-
Constructor Detail
-
ProviderBinder
public ProviderBinder(InjectionManager injectionManager)
Create new provider binder instance.- Parameters:
injectionManager- the binder will use to bind the providers into.
-
-
Method Detail
-
bindProvider
public static <T> void bindProvider(Class<T> providerClass, ContractProvider model, InjectionManager injectionManager)
Bind contract provider model to a provider class using the supplied injection manager.- Parameters:
providerClass- provider class.model- contract provider model.
-
bindProvider
public static void bindProvider(Object providerInstance, ContractProvider model, InjectionManager injectionManager)
Bind contract provider model to a provider instance using the supplied injection manager.Scope value specified in the
contract provider modelis ignored as instances can only be bound as "singletons".- Parameters:
providerInstance- provider instance.model- contract provider model.
-
bindProviders
public static void bindProviders(ComponentBag componentBag, InjectionManager injectionManager)
Bind all providers contained inproviderBag(classes and instances) using injection manager. Configuration is also committed.- Parameters:
componentBag- bag of provider classes and instances.injectionManager- injection manager the binder will use to bind the providers into.
-
bindProviders
@Deprecated public static void bindProviders(ComponentBag componentBag, RuntimeType constrainedTo, Set<Class<?>> registeredClasses, InjectionManager injectionManager)
Deprecated.Bind all providers contained inproviderBag(classes and instances) using injection manager. Configuration is also committed.- Parameters:
componentBag- bag of provider classes and instances.constrainedTo- current runtime (client or server).registeredClasses- classes which are manually registered by the user (not found by the classpath scanning).injectionManager- injection manager the binder will use to bind the providers into.
-
bindProviders
public static void bindProviders(ComponentBag componentBag, RuntimeType constrainedTo, Set<Class<?>> registeredClasses, InjectionManager injectionManager, Collection<ComponentProvider> componentProviders)
Bind all providers contained inproviderBag(classes and instances) using injection manager. Configuration is also committed.- Parameters:
componentBag- bag of provider classes and instances.constrainedTo- current runtime (client or server).registeredClasses- classes which are manually registered by the user (not found by the classpath scanning).injectionManager- injection manager the binder will use to bind the providers into.componentProviders- available component providers capable of registering the classes
-
bindInstances
public void bindInstances(Iterable<Object> instances)
Register/bind custom provider instances. Registered providers will be handled always as Singletons.- Parameters:
instances- custom provider instances.
-
bindInstances
public void bindInstances(Collection<Object> instances)
Register/bind custom provider instances. Registered providers will be handled always as Singletons.- Parameters:
instances- custom provider instances.
-
bindClasses
public void bindClasses(Class<?>... classes)
Register/bind custom provider classes. Registered providers will be handled always as Singletons unless annotated byPerLookup.- Parameters:
classes- custom provider classes.
-
bindClasses
public void bindClasses(Iterable<Class<?>> classes)
Register/bind custom provider classes. Registered providers will be handled always as Singletons unless annotated byPerLookup.- Parameters:
classes- custom provider classes.
-
bindClasses
public void bindClasses(Collection<Class<?>> classes)
Register/bind custom provider classes. Registered providers will be handled always as Singletons unless annotated byPerLookup.- Parameters:
classes- custom provider classes.
-
bindClasses
public void bindClasses(Collection<Class<?>> classes, boolean bindResources)
Register/bind custom provider classes that may also be resources. Registered providers/resources will be handled always as Singletons unless annotated byPerLookup.If
bindAsResourcesis set totrue, the providers will also be bound as resources.- Parameters:
classes- custom provider classes.bindResources- iftrue, the provider classes will also be bound as resources.
-
-