org.picocontainer.gems.adapters
Class StaticFactoryAdapter<T>

java.lang.Object
  extended by org.picocontainer.adapters.AbstractAdapter<T>
      extended by org.picocontainer.gems.adapters.StaticFactoryAdapter<T>
All Implemented Interfaces:
Serializable, ComponentAdapter<T>, ComponentMonitorStrategy

public final class StaticFactoryAdapter<T>
extends AbstractAdapter<T>

Component adapter that wrapps a static factory with the help of StaticFactory.

Author:
Jörg Schaible, Leo Simmons
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.picocontainer.ComponentAdapter
ComponentAdapter.NOTHING
 
Constructor Summary
StaticFactoryAdapter(Class<T> type, StaticFactory<T> staticFactory)
          Construct a ComponentAdapter accessing a static factory creating the component.
StaticFactoryAdapter(Object componentKey, Class<T> type, StaticFactory<T> staticFactory)
          Construct a ComponentAdapter accessing a static factory creating the component using a special key for addComponent registration.
 
Method Summary
 T getComponentInstance(PicoContainer container, Type into)
          Retrieve the component instance.
 String getDescriptor()
          Get a string key descriptor of the component adapter.
 void verify(PicoContainer container)
          Verify that all dependencies for this adapter can be satisfied.
 
Methods inherited from class org.picocontainer.adapters.AbstractAdapter
accept, changeMonitor, checkTypeCompatibility, currentMonitor, findAdapterOfType, getComponentImplementation, getComponentInstance, getComponentKey, getDelegate, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

StaticFactoryAdapter

public StaticFactoryAdapter(Class<T> type,
                            StaticFactory<T> staticFactory)
Construct a ComponentAdapter accessing a static factory creating the component.

Parameters:
type - The type of the created component.
staticFactory - Wrapper instance for the static factory.

StaticFactoryAdapter

public StaticFactoryAdapter(Object componentKey,
                            Class<T> type,
                            StaticFactory<T> staticFactory)
Construct a ComponentAdapter accessing a static factory creating the component using a special key for addComponent registration.

Parameters:
componentKey - The key of the created component.
type - The type of the created component.
staticFactory - Wrapper instance for the static factory.
Method Detail

getComponentInstance

public T getComponentInstance(PicoContainer container,
                              Type into)
                       throws PicoCompositionException
Description copied from interface: ComponentAdapter
Retrieve the component instance. This method will usually create a new instance each time it is called, but that is not required. For example, Cached will always return the same instance.

Parameters:
container - the PicoContainer, that is used to resolve any possible dependencies of the instance.
into - the class that is about to be injected into. Use ComponentAdapter.NOTHING.class if this is not important to you.
Returns:
Returns the component created by the static factory.
Throws:
PicoCompositionException - if the component has dependencies which could not be resolved, or instantiation of the component lead to an ambiguous situation within the container.
See Also:
org.picocontainer.ComponentAdapter#getComponentInstance(org.picocontainer.PicoContainer, java.lang.Class into)

verify

public void verify(PicoContainer container)
            throws PicoVerificationException
Verify that all dependencies for this adapter can be satisfied. Normally, the adapter should verify this by checking that the associated PicoContainer contains all the needed dependencies.

Parameters:
container - the PicoContainer, that is used to resolve any possible dependencies of the instance.
Throws:
PicoVerificationException
See Also:
ComponentAdapter.verify(org.picocontainer.PicoContainer)

getDescriptor

public String getDescriptor()
Description copied from interface: ComponentAdapter
Get a string key descriptor of the component adapter.

Returns:


Copyright © 2003-2010 Codehaus. All Rights Reserved.