com.sun.jersey.core.spi.component
Class ProviderFactory

java.lang.Object
  extended by com.sun.jersey.core.spi.component.ProviderFactory
All Implemented Interfaces:
ComponentProviderFactory<ComponentProvider>
Direct Known Subclasses:
IoCProviderFactory

public class ProviderFactory
extends java.lang.Object
implements ComponentProviderFactory<ComponentProvider>

A component provider factory for provider components (which are singletons).

A cache of component providers is managed. When a component provider for a class is obtained it is cached such that the same instance on subsequent requests.

Author:
[email protected]

Nested Class Summary
protected static interface ProviderFactory.Destroyable
           
 
Field Summary
protected static java.util.logging.Logger LOGGER
           
 
Constructor Summary
ProviderFactory(InjectableProviderContext ipc)
          Create the provider factory.
 
Method Summary
protected  ComponentProvider _getComponentProvider(java.lang.Class c)
           
 void destroy()
          Destroy all cached components.
 ComponentProvider getComponentProvider(java.lang.Class c)
          Get a component provider for a class.
 ComponentProvider getComponentProvider(ProviderServices.ProviderClass pc)
          Get a component provider for a class.
 InjectableProviderContext getInjectableProviderContext()
          Get the injectable provider context.
 void injectOnAllComponents()
          Inject on all cached components.
 void injectOnProviderInstance(java.lang.Object provider)
          Inject on a provider.
 void injectOnProviderInstances(java.util.Collection<?> providers)
          Inject on a collection of providers.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOGGER

protected static final java.util.logging.Logger LOGGER
Constructor Detail

ProviderFactory

public ProviderFactory(InjectableProviderContext ipc)
Create the provider factory.

Parameters:
ipc - the injectable provider context to get injectables.
Method Detail

getInjectableProviderContext

public InjectableProviderContext getInjectableProviderContext()
Get the injectable provider context.

Returns:
the injectable provider context

getComponentProvider

public final ComponentProvider getComponentProvider(ProviderServices.ProviderClass pc)
Get a component provider for a class.

Parameters:
pc - the provider class.
Returns:
the component provider.

getComponentProvider

public final ComponentProvider getComponentProvider(java.lang.Class c)
Get a component provider for a class.

Specified by:
getComponentProvider in interface ComponentProviderFactory<ComponentProvider>
Parameters:
c - the class.
Returns:
the component provider.

_getComponentProvider

protected ComponentProvider _getComponentProvider(java.lang.Class c)

injectOnAllComponents

public void injectOnAllComponents()
Inject on all cached components.


destroy

public void destroy()
Destroy all cached components.


injectOnProviderInstances

public void injectOnProviderInstances(java.util.Collection<?> providers)
Inject on a collection of providers.

Parameters:
providers - the collection of providers.

injectOnProviderInstance

public void injectOnProviderInstance(java.lang.Object provider)
Inject on a provider.

Parameters:
provider - the provider.


Copyright © 2010 Oracle Corporation. All Rights Reserved.