org.codehaus.plexus.component.composition

## Interface CompositionResolver

All Known Implementing Classes:
  DefaultCompositionResolver

    public interface CompositionResolver

Version:
  $Id: CompositionResolver.java 7828 2008-11-14 22:07:56Z dain $
Author:
  Jason van Zyl, Michal Maczka

### Field Summary

Fields
`static char` `SEPARATOR_CHAR`

### Method Summary

Methods
`void` `addComponentDescriptor(ComponentDescriptor<?> componentDescriptor)`
`java.util.List` `findRequirements(java.lang.String role, java.lang.String roleHint)` Returns the list of names of components which are using the component.
`java.util.List` `getRequirements(java.lang.String role, java.lang.String roleHint)` Returns the list of names of components which are required by the component of given role and roleHint.

### Field Detail

#### SEPARATOR_CHAR

    static final char SEPARATOR_CHAR

See Also:
  Constant Field Values

### Method Detail

#### addComponentDescriptor

    void addComponentDescriptor(ComponentDescriptor<?> componentDescriptor)
                                throws CompositionException

Parameters:
  `componentDescriptor` -
Throws:
  `CompositionException` - when cycle is detected

#### getRequirements

    java.util.List getRequirements(java.lang.String role,
                                 java.lang.String roleHint)

Returns the list of names of components which are required by the component of given role and roleHint. The names returned are in the form role:hint, where : is defined in SEPARATOR_CHAR.

Parameters:
  `role` - The name of the component
  `roleHint` - The implementation hint of the component
Returns:
  The list of components which are required by given component

#### findRequirements

    java.util.List findRequirements(java.lang.String role,
                                  java.lang.String roleHint)

Returns the list of names of components which are using the component. of given role and roleHint. The names returned are in the form role:hint, where : is defined in SEPARATOR_CHAR.

Parameters:
  `role` - The name of the component
  `roleHint` - The implementation hint of the component
Returns:
  The list of components which are requiring given component