org.glassfish.jersey.internal.inject
Class Providers

java.lang.Object
  extended by org.glassfish.jersey.internal.inject.Providers

public class Providers
extends java.lang.Object

Utility class providing a set of utility methods for easier and more type-safe interaction with HK2 injection layer.

Author:
Marek Potociar (marek.potociar at oracle.com), Miroslav Fuksa (miroslav.fuksa at oracle.com)

Method Summary
static
<T> Factory<T>
factoryOf(T instance)
          Wrap an instance into a HK2 service factory.
static
<T> java.util.List<T>
getAllProviders(ServiceLocator locator, java.lang.Class<T> contract)
          Get the set of all providers (custom and default) registered for the given service provider contract in the underlying HK2 service locator container.
static
<T> java.util.List<T>
getAllProviders(ServiceLocator locator, java.lang.Class<T> contract, java.util.Comparator<T> comparator)
          Get the set of all providers (custom and default) registered for the given service provider contract in the underlying HK2 service locator container ordered based on the given comparator.
static
<T> java.util.Set<T>
getCustomProviders(ServiceLocator locator, java.lang.Class<T> contract)
          Get the set of all custom providers registered for the given service provider contract in the underlying HK2 service locator container.
static java.util.Set<java.lang.Class<?>> getProviderContracts(java.lang.Class<?> clazz)
          Returns provider contracts recognized by Jersey that are implemented by the clazz.
static
<T> java.util.Set<T>
getProviders(ServiceLocator locator, java.lang.Class<T> contract)
          Get the set of default providers registered for the given service provider contract in the underlying HK2 service locator container.
static
<T> java.util.SortedSet<T>
getProviders(ServiceLocator locator, java.lang.Class<T> contract, java.util.Comparator<T> comparator)
          Get the set of all providers registered for the given service provider contract in the underlying HK2 locator container.
static boolean isProvider(java.lang.Class<?> clazz)
          Returns true if the given class is a provider (implements specific interfaces).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

factoryOf

public static <T> Factory<T> factoryOf(T instance)
Wrap an instance into a HK2 service factory.

Type Parameters:
T - Java type if the contract produced by the provider and factory.
Parameters:
instance - instance to be wrapped into (and provided by) the factory.
Returns:
HK2 service factory wrapping and providing the instance.

getProviders

public static <T> java.util.Set<T> getProviders(ServiceLocator locator,
                                                java.lang.Class<T> contract)
Get the set of default providers registered for the given service provider contract in the underlying HK2 service locator container.

Type Parameters:
T - service provider contract Java type.
Parameters:
locator - underlying HK2 service locator.
contract - service provider contract.
Returns:
set of all available default service provider instances for the contract.

getCustomProviders

public static <T> java.util.Set<T> getCustomProviders(ServiceLocator locator,
                                                      java.lang.Class<T> contract)
Get the set of all custom providers registered for the given service provider contract in the underlying HK2 service locator container.

Type Parameters:
T - service provider contract Java type.
Parameters:
locator - underlying HK2 service locator.
contract - service provider contract.
Returns:
set of all available service provider instances for the contract.

getAllProviders

public static <T> java.util.List<T> getAllProviders(ServiceLocator locator,
                                                    java.lang.Class<T> contract)
Get the set of all providers (custom and default) registered for the given service provider contract in the underlying HK2 service locator container.

Type Parameters:
T - service provider contract Java type.
Parameters:
locator - underlying HK2 service locator.
contract - service provider contract.
Returns:
set of all available service provider instances for the contract.

getAllProviders

public static <T> java.util.List<T> getAllProviders(ServiceLocator locator,
                                                    java.lang.Class<T> contract,
                                                    java.util.Comparator<T> comparator)
Get the set of all providers (custom and default) registered for the given service provider contract in the underlying HK2 service locator container ordered based on the given comparator.

Type Parameters:
T - service provider contract Java type.
Parameters:
locator - underlying HK2 service locator.
contract - service provider contract.
comparator - comparator to be used for sorting the returned providers.
Returns:
set of all available service provider instances for the contract ordered using the given comparator.

getProviders

public static <T> java.util.SortedSet<T> getProviders(ServiceLocator locator,
                                                      java.lang.Class<T> contract,
                                                      java.util.Comparator<T> comparator)
Get the set of all providers registered for the given service provider contract in the underlying HK2 locator container.

Type Parameters:
T - service provider contract Java type.
Parameters:
locator - underlying HK2 service locator.
contract - service provider contract.
comparator - contract comparator used for ordering contracts in the set.
Returns:
set of all available service provider instances for the contract.

getProviderContracts

public static java.util.Set<java.lang.Class<?>> getProviderContracts(java.lang.Class<?> clazz)
Returns provider contracts recognized by Jersey that are implemented by the clazz. Recognized provider contracts include all JAX-RS providers as well as all Jersey SPI components annotated with @Contract annotation.

Parameters:
clazz - class to extract the provider interfaces from.
Returns:
set of provider contracts implemented by the given class.

isProvider

public static boolean isProvider(java.lang.Class<?> clazz)
Returns true if the given class is a provider (implements specific interfaces). See getProviderContracts(java.lang.Class).

Parameters:
clazz - class to test.
Returns:
true if the class is provider, false otherwise.


Copyright © 2007-2012 Oracle Corporation. All Rights Reserved. Use is subject to license terms.