|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.picocontainer.defaults.MonitoringComponentAdapter
org.picocontainer.defaults.AbstractComponentAdapter
org.picocontainer.defaults.InstantiatingComponentAdapter
public abstract class InstantiatingComponentAdapter
This ComponentAdapter will instantiate a new object for each call to
ComponentAdapter.getComponentInstance(PicoContainer)
.
That means that when used with a PicoContainer, getComponentInstance will
return a new object each time.
Nested Class Summary | |
---|---|
protected static class |
InstantiatingComponentAdapter.Guard
The cycle guard for the verification. |
Field Summary | |
---|---|
protected boolean |
allowNonPublicClasses
Flag indicating instanciation of non-public classes. |
protected LifecycleStrategy |
lifecycleStrategy
The strategy used to control the lifecycle |
protected Parameter[] |
parameters
The parameters to use for initialization. |
protected InstantiatingComponentAdapter.Guard |
verifyingGuard
The cycle guard for the verification. |
Constructor Summary | |
---|---|
protected |
InstantiatingComponentAdapter(java.lang.Object componentKey,
java.lang.Class componentImplementation,
Parameter[] parameters,
boolean allowNonPublicClasses)
Constructs a new ComponentAdapter for the given key and implementation. |
protected |
InstantiatingComponentAdapter(java.lang.Object componentKey,
java.lang.Class componentImplementation,
Parameter[] parameters,
boolean allowNonPublicClasses,
ComponentMonitor monitor)
Constructs a new ComponentAdapter for the given key and implementation. |
protected |
InstantiatingComponentAdapter(java.lang.Object componentKey,
java.lang.Class componentImplementation,
Parameter[] parameters,
boolean allowNonPublicClasses,
ComponentMonitor monitor,
LifecycleStrategy lifecycleStrategy)
Constructs a new ComponentAdapter for the given key and implementation. |
Method Summary | |
---|---|
void |
accept(PicoVisitor visitor)
Accepts a visitor for this ComponentAdapter. |
private void |
checkConcrete()
|
protected Parameter[] |
createDefaultParameters(java.lang.Class[] parameters)
Create default parameters for the given types. |
void |
dispose(java.lang.Object component)
Invoke the "dispose" method on the component instance if this is disposable. |
protected abstract java.lang.reflect.Constructor |
getGreediestSatisfiableConstructor(PicoContainer container)
Find and return the greediest satisfiable constructor. |
boolean |
hasLifecycle(java.lang.Class type)
Test if a component instance has a lifecycle. |
protected java.lang.Object |
newInstance(java.lang.reflect.Constructor constructor,
java.lang.Object[] parameters)
Instantiate an object with given parameters and respect the accessible flag. |
void |
start(java.lang.Object component)
Invoke the "start" method on the component instance if this is startable. |
void |
stop(java.lang.Object component)
Invoke the "stop" method on the component instance if this is stoppable. |
void |
verify(PicoContainer container)
Verify that all dependencies for this adapter can be satisifed. |
Methods inherited from class org.picocontainer.defaults.AbstractComponentAdapter |
---|
checkTypeCompatibility, getComponentImplementation, getComponentKey, toString |
Methods inherited from class org.picocontainer.defaults.MonitoringComponentAdapter |
---|
changeMonitor, currentMonitor |
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 |
Field Detail |
---|
protected transient InstantiatingComponentAdapter.Guard verifyingGuard
protected transient Parameter[] parameters
protected boolean allowNonPublicClasses
protected LifecycleStrategy lifecycleStrategy
Constructor Detail |
---|
protected InstantiatingComponentAdapter(java.lang.Object componentKey, java.lang.Class componentImplementation, Parameter[] parameters, boolean allowNonPublicClasses, ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy)
componentKey
- the search key for this implementationcomponentImplementation
- the concrete implementationparameters
- the parameters to use for the initializationallowNonPublicClasses
- flag to allow instantiation of non-public classesmonitor
- the component monitor used by this ComponentAdapterlifecycleStrategy
- the lifecycle strategy used by this ComponentAdapter
AssignabilityRegistrationException
- if the key is a type and the implementation cannot be assigned to
NotConcreteRegistrationException
- if the implementation is not a concrete class
java.lang.NullPointerException
- if one of the parameters is null
protected InstantiatingComponentAdapter(java.lang.Object componentKey, java.lang.Class componentImplementation, Parameter[] parameters, boolean allowNonPublicClasses, ComponentMonitor monitor)
componentKey
- the search key for this implementationcomponentImplementation
- the concrete implementationparameters
- the parameters to use for the initializationallowNonPublicClasses
- flag to allow instantiation of non-public classesmonitor
- the component monitor used by this ComponentAdapter
AssignabilityRegistrationException
- if the key is a type and the implementation cannot be assigned to
NotConcreteRegistrationException
- if the implementation is not a concrete class
java.lang.NullPointerException
- if one of the parameters is null
protected InstantiatingComponentAdapter(java.lang.Object componentKey, java.lang.Class componentImplementation, Parameter[] parameters, boolean allowNonPublicClasses)
componentKey
- the search key for this implementationcomponentImplementation
- the concrete implementationparameters
- the parameters to use for the initializationallowNonPublicClasses
- flag to allow instantiation of non-public classes.
AssignabilityRegistrationException
- if the key is a type and the implementation cannot be assigned to.
NotConcreteRegistrationException
- if the implementation is not a concrete class.
java.lang.NullPointerException
- if one of the parameters is null
Method Detail |
---|
private void checkConcrete() throws NotConcreteRegistrationException
NotConcreteRegistrationException
protected Parameter[] createDefaultParameters(java.lang.Class[] parameters)
parameters
- the parameter types
public void verify(PicoContainer container) throws PicoIntrospectionException
ComponentAdapter
verify
in interface ComponentAdapter
container
- the PicoContainer
, that is used to resolve any possible dependencies of the instance.
PicoIntrospectionException
- if one or more dependencies cannot be resolved.public void accept(PicoVisitor visitor)
ComponentAdapter
PicoContainer
, that
cascades the visitor also down to all its ComponentAdapter instances.
accept
in interface ComponentAdapter
accept
in class AbstractComponentAdapter
visitor
- the visitor.public void start(java.lang.Object component)
LifecycleStrategy
start
in interface LifecycleStrategy
component
- the instance of the component to startpublic void stop(java.lang.Object component)
LifecycleStrategy
stop
in interface LifecycleStrategy
component
- the instance of the component to stoppublic void dispose(java.lang.Object component)
LifecycleStrategy
dispose
in interface LifecycleStrategy
component
- the instance of the component to disposepublic boolean hasLifecycle(java.lang.Class type)
LifecycleStrategy
hasLifecycle
in interface LifecycleStrategy
type
- the component's type
true
if the component has a lifecycleprotected java.lang.Object newInstance(java.lang.reflect.Constructor constructor, java.lang.Object[] parameters) throws java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
constructor
- the constructor to useparameters
- the parameters for the constructor
java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
protected abstract java.lang.reflect.Constructor getGreediestSatisfiableConstructor(PicoContainer container) throws PicoIntrospectionException, UnsatisfiableDependenciesException, AmbiguousComponentResolutionException, AssignabilityRegistrationException, NotConcreteRegistrationException
container
- the PicoContainer to resolve dependencies.
PicoIntrospectionException
UnsatisfiableDependenciesException
AmbiguousComponentResolutionException
AssignabilityRegistrationException
NotConcreteRegistrationException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |