Package org.picocontainer
Interface ComponentFactory
-
- All Known Subinterfaces:
BehaviorFactory
,InjectionFactory
- All Known Implementing Classes:
AbstractBehaviorFactory
,AbstractInjectionFactory
,AdaptingBehavior
,AdaptingInjection
,AnnotatedFieldInjection
,AnnotatedMethodInjection
,Automating
,Caching
,CompositeInjection
,ConstructorInjection
,Decorating
,FieldDecorating
,ForgetfulConstructorInjection
,Guarding
,ImplementationHiding
,Intercepting
,Locking
,MethodInjection
,MethodInjection.MethodInjectionByName
,MethodInjection.MethodInjectionByReflectionMethod
,MultiInjection
,NamedFieldInjection
,NamedMethodInjection
,OptInCaching
,PropertyApplying
,Reinjection
,SetterInjection
,Storing
,Synchronizing
,ThreadCaching
,TypedFieldInjection
public interface ComponentFactory
A component factory is responsible for creatingComponentAdapter
component adapters. The main use of the component factory is insideDefaultPicoContainer(ComponentFactory)
, where it can be used to customize the default component adapter that is used when none is specified explicitly.- Author:
- Paul Hammant, Mauro Talevi, Jon Tirsén
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
accept(PicoVisitor visitor)
Accepts a visitor for this ComponentFactory.<T> ComponentAdapter<T>
createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, java.util.Properties componentProperties, java.lang.Object componentKey, java.lang.Class<T> componentImplementation, Parameter... parameters)
Create a new component adapter based on the specified arguments.void
verify(PicoContainer container)
Verification for the ComponentFactory - subject to implementation.
-
-
-
Method Detail
-
createComponentAdapter
<T> ComponentAdapter<T> createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, java.util.Properties componentProperties, java.lang.Object componentKey, java.lang.Class<T> componentImplementation, Parameter... parameters) throws PicoCompositionException
Create a new component adapter based on the specified arguments.- Parameters:
componentMonitor
- the component monitorlifecycleStrategy
- te lifecycle strategycomponentProperties
- the component propertiescomponentKey
- the key to be associated with this adapter. This value should be returned from a call toComponentAdapter.getComponentKey()
on the created adapter.componentImplementation
- the implementation class to be associated with this adapter. This value should be returned from a call toComponentAdapter.getComponentImplementation()
on the created adapter. Should not be null.parameters
- additional parameters to use by the component adapter in constructing component instances. These may be used, for example, to make decisions about the arguments passed into the component constructor. These should be considered hints; they may be ignored by some implementations. May be null, and may be of zero length.- Returns:
- a new component adapter based on the specified arguments. Should not return null.
- Throws:
PicoCompositionException
- if the creation of the component adapter results in aPicoCompositionException
.
-
verify
void verify(PicoContainer container)
Verification for the ComponentFactory - subject to implementation.- Parameters:
container
- thePicoContainer
, that is used for verification.- Throws:
PicoCompositionException
- if one or more dependencies cannot be resolved.
-
accept
void accept(PicoVisitor visitor)
Accepts a visitor for this ComponentFactory. The method is normally called by visiting aPicoContainer
, that cascades the visitor also down to all its ComponentFactory instances.- Parameters:
visitor
- the visitor.
-
-