org.picocontainer.behaviors
Class HiddenImplementation<T>
java.lang.Object
org.picocontainer.behaviors.AbstractBehavior<T>
org.picocontainer.behaviors.HiddenImplementation<T>
- All Implemented Interfaces:
- Serializable, Behavior<T>, ComponentAdapter<T>, ComponentLifecycle<T>, ComponentMonitorStrategy, LifecycleStrategy
- Direct Known Subclasses:
- Intercepted
public class HiddenImplementation<T>
- extends AbstractBehavior<T>
This component adapter makes it possible to hide the implementation
of a real subject (behind a proxy) provided the key is an interface.
This class exists here, because a) it has no deps on external jars, b) dynamic proxy is quite easy.
The user is prompted to look at picocontainer-gems for alternate and bigger implementations.
- Author:
- Aslak Hellesøy, Paul Hammant
- See Also:
for a more feature-rich version of this class.
,
Serialized Form
Methods inherited from class org.picocontainer.behaviors.AbstractBehavior |
accept, changeMonitor, componentHasLifecycle, currentMonitor, dispose, dispose, findAdapterOfType, getComponentImplementation, getComponentInstance, getComponentKey, getDelegate, hasLifecycle, isLazy, isStarted, start, start, stop, stop, toString, verify |
HiddenImplementation
public HiddenImplementation(ComponentAdapter<T> delegate)
- Creates an ImplementationHidingComponentAdapter with a delegate
- Parameters:
delegate
- the component adapter to which this adapter delegates
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.
- Specified by:
getComponentInstance
in interface ComponentAdapter<T>
- Overrides:
getComponentInstance
in class AbstractBehavior<T>
- 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:
- the component instance.
- 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.
getDescriptor
public String getDescriptor()
- Description copied from interface:
ComponentAdapter
- Get a string key descriptor of the component adapter for use in toString()
- Returns:
- the descriptor
createProxy
protected T createProxy(Class[] interfaces,
PicoContainer container,
ClassLoader classLoader)
invokeMethod
protected Object invokeMethod(Object componentInstance,
Method method,
Object[] args,
PicoContainer container)
throws Throwable
- Throws:
Throwable
Copyright © 2003-2010 Codehaus. All Rights Reserved.