Package org.picocontainer.behaviors
Class AbstractBehaviorFactory
- java.lang.Object
-
- org.picocontainer.behaviors.AbstractBehaviorFactory
-
- All Implemented Interfaces:
java.io.Serializable
,BehaviorFactory
,ComponentFactory
- Direct Known Subclasses:
Automating
,Caching
,Decorating
,FieldDecorating
,Guarding
,ImplementationHiding
,Intercepting
,Locking
,OptInCaching
,PropertyApplying
,Storing
,Synchronizing
,ThreadCaching
public class AbstractBehaviorFactory extends java.lang.Object implements ComponentFactory, java.io.Serializable, BehaviorFactory
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description AbstractBehaviorFactory()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(PicoVisitor visitor)
Accepts a visitor for this ComponentFactory.<T> ComponentAdapter<T>
addComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, java.util.Properties componentProperties, ComponentAdapter<T> adapter)
static boolean
arePropertiesPresent(java.util.Properties current, java.util.Properties present, boolean compareValueToo)
<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.static java.lang.String
getAndRemovePropertiesIfPresentByKey(java.util.Properties current, java.util.Properties present)
protected void
mergeProperties(java.util.Properties into, java.util.Properties from)
static boolean
removePropertiesIfPresent(java.util.Properties current, java.util.Properties present)
void
verify(PicoContainer container)
Verification for the ComponentFactory - subject to implementation.ComponentFactory
wrap(ComponentFactory delegate)
-
-
-
Method Detail
-
wrap
public ComponentFactory wrap(ComponentFactory delegate)
- Specified by:
wrap
in interfaceBehaviorFactory
-
createComponentAdapter
public <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
Description copied from interface:ComponentFactory
Create a new component adapter based on the specified arguments.- Specified by:
createComponentAdapter
in 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
public void verify(PicoContainer container)
Description copied from interface:ComponentFactory
Verification for the ComponentFactory - subject to implementation.- Specified by:
verify
in interfaceComponentFactory
- Parameters:
container
- thePicoContainer
, that is used for verification.
-
accept
public void accept(PicoVisitor visitor)
Description copied from interface:ComponentFactory
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.- Specified by:
accept
in interfaceComponentFactory
- Parameters:
visitor
- the visitor.
-
addComponentAdapter
public <T> ComponentAdapter<T> addComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, java.util.Properties componentProperties, ComponentAdapter<T> adapter)
- Specified by:
addComponentAdapter
in interfaceBehaviorFactory
-
arePropertiesPresent
public static boolean arePropertiesPresent(java.util.Properties current, java.util.Properties present, boolean compareValueToo)
-
removePropertiesIfPresent
public static boolean removePropertiesIfPresent(java.util.Properties current, java.util.Properties present)
-
getAndRemovePropertiesIfPresentByKey
public static java.lang.String getAndRemovePropertiesIfPresentByKey(java.util.Properties current, java.util.Properties present)
-
mergeProperties
protected void mergeProperties(java.util.Properties into, java.util.Properties from)
-
-