Package org.picocontainer.behaviors
Class AbstractBehaviorFactory
java.lang.Object
org.picocontainer.behaviors.AbstractBehaviorFactory
- All Implemented Interfaces:
Serializable,BehaviorFactory,ComponentFactory
- Direct Known Subclasses:
Automating,Caching,Decorating,FieldDecorating,Guarding,ImplementationHiding,Intercepting,Locking,OptInCaching,PropertyApplying,Storing,Synchronizing,ThreadCaching
public class AbstractBehaviorFactory
extends Object
implements ComponentFactory, Serializable, BehaviorFactory
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaccept(PicoVisitor visitor) Accepts a visitor for this ComponentFactory.<T> ComponentAdapter<T> addComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, ComponentAdapter<T> adapter) static booleanarePropertiesPresent(Properties current, Properties present, boolean compareValueToo) <T> ComponentAdapter<T> createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters) Create a new component adapter based on the specified arguments.static StringgetAndRemovePropertiesIfPresentByKey(Properties current, Properties present) protected voidmergeProperties(Properties into, Properties from) static booleanremovePropertiesIfPresent(Properties current, Properties present) voidverify(PicoContainer container) Verification for the ComponentFactory - subject to implementation.wrap(ComponentFactory delegate)
-
Constructor Details
-
AbstractBehaviorFactory
public AbstractBehaviorFactory()
-
-
Method Details
-
wrap
- Specified by:
wrapin interfaceBehaviorFactory
-
createComponentAdapter
public <T> ComponentAdapter<T> createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters) throws PicoCompositionException Description copied from interface:ComponentFactoryCreate a new component adapter based on the specified arguments.- Specified by:
createComponentAdapterin interfaceComponentFactory- 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
Description copied from interface:ComponentFactoryVerification for the ComponentFactory - subject to implementation.- Specified by:
verifyin interfaceComponentFactory- Parameters:
container- thePicoContainer, that is used for verification.
-
accept
Description copied from interface:ComponentFactoryAccepts a visitor for this ComponentFactory. The method is normally called by visiting aPicoContainer, that cascades the visitor also down to all its ComponentFactory instances.- Specified by:
acceptin interfaceComponentFactory- Parameters:
visitor- the visitor.
-
addComponentAdapter
public <T> ComponentAdapter<T> addComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, ComponentAdapter<T> adapter) - Specified by:
addComponentAdapterin interfaceBehaviorFactory
-
arePropertiesPresent
public static boolean arePropertiesPresent(Properties current, Properties present, boolean compareValueToo) -
removePropertiesIfPresent
-
getAndRemovePropertiesIfPresentByKey
-
mergeProperties
-