|
||||||||||
| 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
NotConcreteRegistrationExceptionprotected Parameter[] createDefaultParameters(java.lang.Class[] parameters)
parameters - the parameter types
public void verify(PicoContainer container)
throws PicoIntrospectionException
ComponentAdapter
verify in interface ComponentAdaptercontainer - 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)
ComponentAdapterPicoContainer, that
cascades the visitor also down to all its ComponentAdapter instances.
accept in interface ComponentAdapteraccept in class AbstractComponentAdaptervisitor - the visitor.public void start(java.lang.Object component)
LifecycleStrategy
start in interface LifecycleStrategycomponent - the instance of the component to startpublic void stop(java.lang.Object component)
LifecycleStrategy
stop in interface LifecycleStrategycomponent - the instance of the component to stoppublic void dispose(java.lang.Object component)
LifecycleStrategy
dispose in interface LifecycleStrategycomponent - the instance of the component to disposepublic boolean hasLifecycle(java.lang.Class type)
LifecycleStrategy
hasLifecycle in interface LifecycleStrategytype - the component's type
true if the component has a lifecycle
protected 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 | |||||||||