|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.picocontainer.adapters.AbstractAdapter<T>
public abstract class AbstractAdapter<T>
Base class for a ComponentAdapter with general functionality.
This implementation provides basic checks for a healthy implementation of a ComponentAdapter.
It does not allow to use null
for the component key or the implementation,
ensures that the implementation is a concrete class and that the key is assignable from the
implementation if the key represents a type.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface org.picocontainer.ComponentAdapter |
---|
ComponentAdapter.NOTHING |
Constructor Summary | |
---|---|
AbstractAdapter(Object componentKey,
Class componentImplementation)
Constructs a new ComponentAdapter for the given key and implementation. |
|
AbstractAdapter(Object componentKey,
Class componentImplementation,
ComponentMonitor monitor)
Constructs a new ComponentAdapter for the given key and implementation. |
Method Summary | ||
---|---|---|
void |
accept(PicoVisitor visitor)
Accepts a visitor for this ComponentAdapter. |
|
void |
changeMonitor(ComponentMonitor monitor)
Changes the component monitor used |
|
protected void |
checkTypeCompatibility()
|
|
ComponentMonitor |
currentMonitor()
Returns the monitor currently used |
|
|
findAdapterOfType(Class<U> adapterType)
Locates a component adapter of type componentAdapterType in the ComponentAdapter chain. |
|
Class<T> |
getComponentImplementation()
Retrieve the class of the component. |
|
T |
getComponentInstance(PicoContainer container)
Retrieve the component instance. |
|
Object |
getComponentKey()
Retrieve the key associated with the component. |
|
ComponentAdapter<T> |
getDelegate()
Component adapters may be nested in a chain, and this method is used to grab the next ComponentAdapter in the chain. |
|
String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.picocontainer.ComponentAdapter |
---|
getComponentInstance, getDescriptor, verify |
Constructor Detail |
---|
public AbstractAdapter(Object componentKey, Class componentImplementation)
componentKey
- the search key for this implementationcomponentImplementation
- the concrete implementationpublic AbstractAdapter(Object componentKey, Class componentImplementation, ComponentMonitor monitor)
componentKey
- the search key for this implementationcomponentImplementation
- the concrete implementationmonitor
- the component monitor used by this ComponentAdapterMethod Detail |
---|
public Object getComponentKey()
getComponentKey
in interface ComponentAdapter<T>
ComponentAdapter.getComponentKey()
public Class<T> getComponentImplementation()
getComponentImplementation
in interface ComponentAdapter<T>
ComponentAdapter.getComponentImplementation()
protected void checkTypeCompatibility()
public T getComponentInstance(PicoContainer container) throws PicoCompositionException
ComponentAdapter
Cached
will always return the
same instance.
getComponentInstance
in interface ComponentAdapter<T>
container
- the PicoContainer
, that is used to resolve any possible dependencies of the instance.
PicoCompositionException
- if the component has dependencies which could not be resolved, or
instantiation of the component lead to an ambigous situation within the
container.public String toString()
toString
in class Object
Object.toString()
public void accept(PicoVisitor visitor)
ComponentAdapter
PicoContainer
, that
cascades the visitor also down to all its ComponentAdapter instances.
accept
in interface ComponentAdapter<T>
visitor
- the visitor.public void changeMonitor(ComponentMonitor monitor)
ComponentMonitorStrategy
changeMonitor
in interface ComponentMonitorStrategy
monitor
- the new ComponentMonitor to usepublic ComponentMonitor currentMonitor()
currentMonitor
in interface ComponentMonitorStrategy
public final ComponentAdapter<T> getDelegate()
ComponentAdapter
getDelegate
in interface ComponentAdapter<T>
public final <U extends ComponentAdapter> U findAdapterOfType(Class<U> adapterType)
ComponentAdapter
findAdapterOfType
in interface ComponentAdapter<T>
U
- the type of ComponentAdapter being located.adapterType
- the class of the adapter type being located. Never null.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |