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:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`AbstractBehaviorFactory()`

## Method Summary

Modifier and Type
Method
Description
`void`
`accept(PicoVisitor visitor)`
Accepts a visitor for this ComponentFactory.
`<T> ComponentAdapter<T>`
`addComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, ComponentAdapter<T> adapter)`
`static boolean`
`arePropertiesPresent(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 String`
`getAndRemovePropertiesIfPresentByKey(Properties current, Properties present)`
`protected void`
`mergeProperties(Properties into, Properties from)`
`static boolean`
`removePropertiesIfPresent(Properties current, Properties present)`
`void`
`verify(PicoContainer container)`
Verification for the ComponentFactory - subject to implementation.
`ComponentFactory`
`wrap(ComponentFactory delegate)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### AbstractBehaviorFactory

public AbstractBehaviorFactory()

## Method Details

### wrap

public ComponentFactory wrap(ComponentFactory delegate)

Specified by:
  `wrap` in interface `BehaviorFactory`

### 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: `ComponentFactory`
Create a new component adapter based on the specified arguments.

Specified by:
  `createComponentAdapter` in interface `ComponentFactory`
Parameters:
  `componentMonitor` - the component monitor
  `lifecycleStrategy` - te lifecycle strategy
  `componentProperties` - the component properties
  `componentKey` - the key to be associated with this adapter. This value should be returned from a call to `ComponentAdapter.getComponentKey()` on the created adapter.
  `componentImplementation` - the implementation class to be associated with this adapter. This value should be returned from a call to `ComponentAdapter.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 a `PicoCompositionException`.

### verify

public void verify(PicoContainer container)
Description copied from interface: `ComponentFactory`
Verification for the ComponentFactory - subject to implementation.

Specified by:
  `verify` in interface `ComponentFactory`
Parameters:
  `container` - the `PicoContainer`, 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 a `PicoContainer`, that cascades the visitor also down to all its ComponentFactory instances.

Specified by:
  `accept` in interface `ComponentFactory`
Parameters:
  `visitor` - the visitor.

### addComponentAdapter

public <T> ComponentAdapter<T> addComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, ComponentAdapter<T> adapter)

Specified by:
  `addComponentAdapter` in interface `BehaviorFactory`

### arePropertiesPresent

public static boolean arePropertiesPresent(Properties current, Properties present, boolean compareValueToo)

### removePropertiesIfPresent

public static boolean removePropertiesIfPresent(Properties current, Properties present)

### getAndRemovePropertiesIfPresentByKey

public static String getAndRemovePropertiesIfPresentByKey(Properties current, Properties present)

### mergeProperties

protected void mergeProperties(Properties into, Properties from)