org.codehaus.plexus.component.manager

## Interface ComponentManager<T>

All Known Implementing Classes:
  AbstractComponentManager, PerLookupComponentManager, SingletonComponentManager

    public interface ComponentManager<T>

Manages a component manager. Determines when a component is shutdown, and when it's started up. Each manager deals with only one component class, though may handle multiple instances of this class.

Version:
  $Id: ComponentManager.java 8061 2009-01-19 23:33:12Z dain $
Author:
  Jason van Zyl

### Field Summary

Fields
`static java.util.concurrent.atomic.AtomicLong` `NEXT_START_ID` Deprecated. for internal use only.. will be removed
`static java.lang.String` `ROLE`

### Method Summary

Methods
`void` `dispose()`
`void` `dissociateComponentRealm(org.codehaus.plexus.classworlds.realm.ClassRealm realm)`
`T` `getComponent()`
`ComponentDescriptor<T>` `getComponentDescriptor()`
`int` `getConnections()`
`MutablePlexusContainer` `getContainer()`
`LifecycleHandler` `getLifecycleHandler()` Deprecated. use start instead
`org.codehaus.plexus.classworlds.realm.ClassRealm` `getRealm()`
`java.lang.String` `getRole()`
`java.lang.String` `getRoleHint()`
`long` `getStartId()` Deprecated. for internal use only.. will be removed
`java.lang.Class<? extends T>` `getType()`
`void` `release(java.lang.Object component)`
`void` `start(java.lang.Object component)`

### Field Detail

#### ROLE

    static final java.lang.String ROLE

#### NEXT_START_ID

    static final java.util.concurrent.atomic.AtomicLong NEXT_START_ID

Deprecated. for internal use only.. will be removed

### Method Detail

#### getConnections

    int getConnections()

#### getLifecycleHandler

    LifecycleHandler getLifecycleHandler()

Deprecated. use start instead

#### dispose

    void dispose()
                 throws ComponentLifecycleException

Throws:
  `ComponentLifecycleException`

#### release

    void release(java.lang.Object component)
                 throws ComponentLifecycleException

Throws:
  `ComponentLifecycleException`

#### getComponent

    T getComponent()
                   throws ComponentInstantiationException,
                          ComponentLifecycleException

Throws:
  `ComponentInstantiationException`
  `ComponentLifecycleException`

#### getComponentDescriptor

    ComponentDescriptor<T> getComponentDescriptor()

#### getType

    java.lang.Class<? extends T> getType()

#### getRole

    java.lang.String getRole()

#### getRoleHint

    java.lang.String getRoleHint()

#### getContainer

    MutablePlexusContainer getContainer()

#### dissociateComponentRealm

    void dissociateComponentRealm(org.codehaus.plexus.classworlds.realm.ClassRealm realm)
                                  throws ComponentLifecycleException

Throws:
  `ComponentLifecycleException`

#### getRealm

    org.codehaus.plexus.classworlds.realm.ClassRealm getRealm()

#### start

    void start(java.lang.Object component)
               throws PhaseExecutionException

Throws:
  `PhaseExecutionException`

#### getStartId

    long getStartId()

Deprecated. for internal use only.. will be removed