org.apache.felix.ipojo.extender.internal.linker

## Class ManagedType

- java.lang.Object
- - org.apache.felix.ipojo.extender.internal.linker.ManagedType

All Implemented Interfaces:
  Lifecycle, FactoryStateListener

    public class ManagedType
    extends java.lang.Object
    implements FactoryStateListener, Lifecycle

This class is responsible to create the factory for a given type declaration. It also instructs the factories to create the instance for each instance declaration targeting the managed factory.

### Field Summary

Fields
`static java.lang.String` `FACTORY_CREATION_JOB_TYPE` Identify the factory creation job submitted to the QueueService.
`static java.lang.String` `INSTANCE_STARTUP_JOB_TYPE` Identify the instance startup job submitted to the QueueService.

### Constructor Summary

Constructors
Constructor and Description
`ManagedType(org.osgi.framework.BundleContext bundleContext, QueueService queueService, TypeDeclaration declaration)` Constructs a Managed Type object for the given type declaration.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `start()` Starting the management.
`void` `stateChanged(Factory factory, int newState)` The factory we have built has a state in his change.
`void` `stop()` Stopping the management.

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

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

### Field Detail

#### FACTORY_CREATION_JOB_TYPE

    public static final java.lang.String FACTORY_CREATION_JOB_TYPE

Identify the factory creation job submitted to the QueueService.

See Also:
  Constant Field Values

#### INSTANCE_STARTUP_JOB_TYPE

    public static final java.lang.String INSTANCE_STARTUP_JOB_TYPE

Identify the instance startup job submitted to the QueueService.

See Also:
  Constant Field Values

### Constructor Detail

#### ManagedType

    public ManagedType(org.osgi.framework.BundleContext bundleContext,
                       QueueService queueService,
                       TypeDeclaration declaration)

Constructs a Managed Type object for the given type declaration.

Parameters:
  `bundleContext` - the bundle context
  `queueService` - the queue service
  `declaration` - the declaration

### Method Detail

#### start

    public void start()

Starting the management. We open only the extension tracker.

Specified by:
  `start` in interface `Lifecycle`

#### stop

    public void stop()

Stopping the management.

Specified by:
  `stop` in interface `Lifecycle`

#### stateChanged

    public void stateChanged(Factory factory,
                             int newState)

The factory we have built has a state in his change.

Specified by:
  `stateChanged` in interface `FactoryStateListener`
Parameters:
  `factory` - the changing factory
  `newState` - the new factory state