org.codehaus.plexus.component.repository

## Interface ComponentRepository

All Known Implementing Classes:
  DefaultComponentRepository

    public interface ComponentRepository

Like the avalon component manager. Central point to get the components from. TODO: Enhance the ComponentRepository so that it can take entire ComponentSetDescriptors instead of just ComponentDescriptors.

### Method Summary

Methods
`void` `addComponentDescriptor(ComponentDescriptor componentDescriptor)`
`void` `addComponentDescriptor(PlexusConfiguration configuration)`
`void` `configure(PlexusConfiguration configuration)`
`List` `getComponentDependencies(ComponentDescriptor componentDescriptor)`
`ComponentDescriptor` `getComponentDescriptor(String role)`
`Map` `getComponentDescriptorMap(String role)`
`boolean` `hasComponent(String role)`
`boolean` `hasComponent(String role, String id)`
`void` `initialize()`
`void` `setClassRealm(ClassRealm classRealm)`
`void` `validateComponentDescriptor(ComponentDescriptor componentDescriptor)`

### Method Detail

#### configure

    void configure(PlexusConfiguration configuration)

#### initialize

    void initialize()
                    throws ComponentRepositoryException

Throws:
  `ComponentRepositoryException`

#### hasComponent

    boolean hasComponent(String role)

#### hasComponent

    boolean hasComponent(String role,
                       String id)

#### addComponentDescriptor

    void addComponentDescriptor(ComponentDescriptor componentDescriptor)
                                throws ComponentRepositoryException

Throws:
  `ComponentRepositoryException`

#### addComponentDescriptor

    void addComponentDescriptor(PlexusConfiguration configuration)
                                throws ComponentRepositoryException

Throws:
  `ComponentRepositoryException`

#### getComponentDescriptor

    ComponentDescriptor getComponentDescriptor(String role)

#### getComponentDescriptorMap

    Map getComponentDescriptorMap(String role)

#### getComponentDependencies

    List getComponentDependencies(ComponentDescriptor componentDescriptor)

#### validateComponentDescriptor

    void validateComponentDescriptor(ComponentDescriptor componentDescriptor)
                                     throws ComponentImplementationNotFoundException

Throws:
  `ComponentImplementationNotFoundException`

#### setClassRealm

    void setClassRealm(ClassRealm classRealm)