# Uses of Interface
org.picocontainer.ComponentFactory

Packages that use ComponentFactory
Package
Description
org.picocontainer
This package contains the core API for PicoContainer, a compact container for working with the dependency injection pattern.
org.picocontainer.behaviors
BehaviorFactories make Behaviors which change aspects of component implementations and instances
org.picocontainer.classname
org.picocontainer.containers
Containers are the main user entry point for PicoContainer.
org.picocontainer.injectors
InjectionFactories make Injectors which implement specific types of dependency injection
org.picocontainer.visitors

## Uses of ComponentFactory in org.picocontainer

Subinterfaces of ComponentFactory in org.picocontainer
Modifier and Type
Interface
Description
`interface`
`BehaviorFactory`
Extends ComponentFactory to provide factory methods for Behaviors
`interface`
`InjectionFactory`
Fields in org.picocontainer declared as ComponentFactory
Modifier and Type
Field
Description
`protected final ComponentFactory`
DefaultPicoContainer.`componentFactory`
Component factory instance.
Methods in org.picocontainer that return ComponentFactory
Modifier and Type
Method
Description
`ComponentFactory`
BehaviorFactory.`wrap(ComponentFactory delegate)`
Methods in org.picocontainer with parameters of type ComponentFactory
Modifier and Type
Method
Description
`void`
PicoVisitor.`visitComponentFactory(ComponentFactory componentFactory)`
Visit a `ComponentAdapter` that has to accept the visitor.
`PicoBuilder`
PicoBuilder.`withComponentFactory(ComponentFactory componentFactory)`
`ComponentFactory`
BehaviorFactory.`wrap(ComponentFactory delegate)`
Method parameters in org.picocontainer with type arguments of type ComponentFactory
Modifier and Type
Method
Description
`PicoBuilder`
PicoBuilder.`withComponentFactory(Class<? extends ComponentFactory> componentFactoryClass)`
Constructors in org.picocontainer with parameters of type ComponentFactory
Modifier
Constructor
Description
``
`DefaultPicoContainer(ComponentFactory componentFactory)`
Creates a new container with a custom ComponentFactory and no parent container.
``
`DefaultPicoContainer(ComponentFactory componentFactory, LifecycleStrategy lifecycleStrategy, PicoContainer parent)`
Creates a new container with a custom ComponentFactory, LifecycleStrategy for instance registration, and a parent container.
``
`DefaultPicoContainer(ComponentFactory componentFactory, LifecycleStrategy lifecycleStrategy, PicoContainer parent, ComponentMonitor componentMonitor)`
``
`DefaultPicoContainer(ComponentFactory componentFactory, PicoContainer parent)`
Creates a new container with a custom ComponentFactory and a parent container.

## Uses of ComponentFactory in org.picocontainer.behaviors

Classes in org.picocontainer.behaviors that implement ComponentFactory
Modifier and Type
Class
Description
`class`
`AbstractBehaviorFactory`
`class`
`AdaptingBehavior`
`class`
`Automating`
`class`
`Caching`
factory class creating cached behaviours
`class`
`Decorating`
BehaviorFactory for Decorating.
`class`
`FieldDecorating`
BehaviorFactory for Field Decorating.
`class`
`Guarding`
factory class creating guard behaviour
`class`
`ImplementationHiding`
`class`
`Intercepting`
`class`
`Locking`
This behavior factory provides java.util.concurrent locks.
`class`
`OptInCaching`
Behavior that turns off Caching behavior by default.
`final class`
`PropertyApplying`
A `ComponentFactory` that creates `PropertyApplicator` instances.
`class`
`Storing`
`class`
`Synchronizing`
This behavior factory provides synchronized wrappers to control access to a particular component.
`class`
`ThreadCaching`
Methods in org.picocontainer.behaviors that return ComponentFactory
Modifier and Type
Method
Description
`ComponentFactory`
AbstractBehaviorFactory.`wrap(ComponentFactory delegate)`
`ComponentFactory`
AdaptingBehavior.`wrap(ComponentFactory delegate)`
Methods in org.picocontainer.behaviors with parameters of type ComponentFactory
Modifier and Type
Method
Description
`ComponentFactory`
AbstractBehaviorFactory.`wrap(ComponentFactory delegate)`
`ComponentFactory`
AdaptingBehavior.`wrap(ComponentFactory delegate)`

## Uses of ComponentFactory in org.picocontainer.classname

Constructors in org.picocontainer.classname with parameters of type ComponentFactory
Modifier
Constructor
Description
``
`DefaultClassLoadingPicoContainer(ClassLoader classLoader, ComponentFactory componentFactory, PicoContainer parent)`
``
`DefaultClassLoadingPicoContainer(ComponentFactory componentFactory)`
``
`DefaultClassLoadingPicoContainer(ComponentFactory componentFactory, LifecycleStrategy lifecycleStrategy, PicoContainer parent, ClassLoader cl, ComponentMonitor componentMonitor)`

## Uses of ComponentFactory in org.picocontainer.containers

Constructors in org.picocontainer.containers with parameters of type ComponentFactory
Modifier
Constructor
Description
``
`TieringPicoContainer(ComponentFactory componentFactory)`
Creates a new container with a custom ComponentFactory and no parent container.
``
`TieringPicoContainer(ComponentFactory componentFactory, LifecycleStrategy lifecycleStrategy, PicoContainer parent)`
Creates a new container with a custom ComponentFactory, LifecycleStrategy for instance registration, and a parent container.
``
`TieringPicoContainer(ComponentFactory componentFactory, LifecycleStrategy lifecycleStrategy, PicoContainer parent, ComponentMonitor componentMonitor)`
``
`TransientPicoContainer(ComponentFactory componentFactory, PicoContainer parent)`

## Uses of ComponentFactory in org.picocontainer.injectors

Classes in org.picocontainer.injectors that implement ComponentFactory
Modifier and Type
Class
Description
`class`
`AbstractInjectionFactory`
`class`
`AdaptingInjection`
Creates injector instances, depending on the injection characteristics of the component class.
`class`
`AnnotatedFieldInjection`
A `InjectionFactory` for Guice-style annotated fields.
`class`
`AnnotatedMethodInjection`
A `InjectionFactory` for Guice-style annotated methods.
`class`
`CompositeInjection`
A Composite of other types on InjectionFactories - pass them into the varargs constructor.
`class`
`ConstructorInjection`
A `InjectionFactory` for constructor injection.
`class`
`ForgetfulConstructorInjection`
Constructor Injection where 'which constructor?' is re-calculated each time an instance is asked to construct a component.
`class`
`MethodInjection`
A `InjectionFactory` for methods.
`class`
`MethodInjection.MethodInjectionByName`
`class`
`MethodInjection.MethodInjectionByReflectionMethod`
`class`
`MultiInjection`
`class`
`NamedFieldInjection`
A `InjectionFactory` for named fields.
`class`
`NamedMethodInjection`
`class`
`Reinjection`
`class`
`SetterInjection`
A `InjectionFactory` for JavaBeans.
`class`
`TypedFieldInjection`
A `InjectionFactory` for named fields.

## Uses of ComponentFactory in org.picocontainer.visitors

Methods in org.picocontainer.visitors with parameters of type ComponentFactory
Modifier and Type
Method
Description
`void`
TraversalCheckingVisitor.`visitComponentFactory(ComponentFactory componentFactory)`
Visit a `ComponentAdapter` that has to accept the visitor.
`void`
VerifyingVisitor.`visitComponentFactory(ComponentFactory componentFactory)`