# Uses of Interface
org.picocontainer.Injector

Packages that use Injector
Package
Description
org.picocontainer
This package contains the core API for PicoContainer, a compact container for working with the dependency injection pattern.
org.picocontainer.injectors
InjectionFactories make Injectors which implement specific types of dependency injection
org.picocontainer.monitors
A Monitor is something PicoContainer uses to inform on events in component instantiation and lifecycle.

## Uses of Injector in org.picocontainer

Methods in org.picocontainer that return Injector
Modifier and Type
Method
Description
`Injector`
ComponentMonitor.`newInjector(Injector injector)`
A mechanism to monitor or override the Injectors being made for components.
Methods in org.picocontainer with parameters of type Injector
Modifier and Type
Method
Description
`Injector`
ComponentMonitor.`newInjector(Injector injector)`
A mechanism to monitor or override the Injectors being made for components.

## Uses of Injector in org.picocontainer.injectors

Classes in org.picocontainer.injectors that implement Injector
Modifier and Type
Class
Description
`class`
`AbstractFieldInjector<T>`
`class`
`AbstractInjector<T>`
This ComponentAdapter will instantiate a new object for each call to `ComponentAdapter.getComponentInstance(PicoContainer, Type)`.
`class`
`AnnotatedFieldInjector<T>`
Injection happens after instantiation, and through fields marked as injection points via an Annotation.
`class`
`AnnotatedMethodInjector`
`class`
`CompositeInjector<T>`
`class`
`ConstructorInjector<T>`
Injection will happen through a constructor for the component.
`class`
`FactoryInjector<T>`
An Injector which provides an custom instance in a factory style
`class`
`IterativeInjector<T>`
Injection will happen iteratively after component instantiation
`class`
`MethodInjector<T>`
Injection will happen through a single method for the component.
`static class`
`MethodInjector.ByMethodName`
`static class`
`MethodInjector.ByReflectionMethod`
`class`
`MultiInjector`
`class`
`NamedFieldInjector<T>`
Injection happens after instantiation, and fields are marked as injection points via a named field.
`class`
`NamedMethodInjector<T>`
`class`
`ProviderAdapter`
Providers are a type of Injector that can participate in Injection via a custom method.
`class`
`SetterInjector<T>`
Instantiates components using empty constructors and Setter Injection.
`class`
`SingleMemberInjector<T>`
Injection will happen in a single member function on the component.
`class`
`TypedFieldInjector<T>`
Injection happens after instantiation, and fields are marked as injection points via a field type.
Methods in org.picocontainer.injectors with parameters of type Injector
Modifier and Type
Method
Description
`static ComponentAdapter`
Injector.`composite(Object componentKey, Class<?> componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames, Injector... injectors)`
creates composite injector
`protected ComponentAdapter`
AbstractInjectionFactory.`wrapLifeCycle(Injector injector, LifecycleStrategy lifecycleStrategy)`
Constructors in org.picocontainer.injectors with parameters of type Injector
Modifier
Constructor
Description
``
`CompositeInjector(Object componentKey, Class<?> componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames, Injector... injectors)`

## Uses of Injector in org.picocontainer.monitors

Methods in org.picocontainer.monitors that return Injector
Modifier and Type
Method
Description
`Injector`
AbstractComponentMonitor.`newInjector(Injector injector)`
`Injector`
ConsoleComponentMonitor.`newInjector(Injector injector)`
`Injector`
LifecycleComponentMonitor.`newInjector(Injector injector)`
`Injector`
NullComponentMonitor.`newInjector(Injector injector)`
`Injector`
WriterComponentMonitor.`newInjector(Injector injector)`
Methods in org.picocontainer.monitors with parameters of type Injector
Modifier and Type
Method
Description
`Injector`
AbstractComponentMonitor.`newInjector(Injector injector)`
`Injector`
ConsoleComponentMonitor.`newInjector(Injector injector)`
`Injector`
LifecycleComponentMonitor.`newInjector(Injector injector)`
`Injector`
NullComponentMonitor.`newInjector(Injector injector)`
`Injector`
WriterComponentMonitor.`newInjector(Injector injector)`