org.codehaus.plexus.component.composition

Class SetterComponentComposer

Implemented Interfaces:
ComponentComposer, LogEnabled

public class SetterComponentComposer
extends AbstractComponentComposer

Version:
$Id: SetterComponentComposer.java 1323 2004-12-20 23:00:59Z jvanzyl $
Author:
Michal Maczka

Field Summary

Fields inherited from class org.codehaus.plexus.component.composition.AbstractComponentComposer

id

Fields inherited from class org.codehaus.plexus.logging.AbstractLogEnabled

logger

Fields inherited from interface org.codehaus.plexus.component.composition.ComponentComposer

ROLE

Method Summary

List
assembleComponent(Object component, ComponentDescriptor descriptor, PlexusContainer container)
protected PropertyDescriptor
findMatchingPropertyDescriptor(ComponentRequirement requirement, PropertyDescriptor[] propertyDescriptors)
private String
getErrorMessage(ComponentDescriptor descriptor, ComponentRequirement requirement, String causeDescription)
protected PropertyDescriptor
getPropertyDescriptorByName(String name, PropertyDescriptor[] propertyDescriptors)
protected PropertyDescriptor
getPropertyDescriptorByType(String type, PropertyDescriptor[] propertyDescriptors)
private void
reportErrorCannotAssignRequiredComponent(ComponentDescriptor descriptor, ComponentRequirement requirement, Exception e)
private void
reportErrorCannotLookupRequiredComponent(ComponentDescriptor descriptor, ComponentRequirement requirement, Throwable cause)
private void
reportErrorFailedToIntrospect(ComponentDescriptor descriptor)
private void
reportErrorNoSuchProperty(ComponentDescriptor descriptor, ComponentRequirement requirement)
private List
setProperty(Object component, ComponentDescriptor descriptor, ComponentRequirement requirement, PropertyDescriptor propertyDescriptor, PlexusContainer container)

Methods inherited from class org.codehaus.plexus.component.composition.AbstractComponentComposer

getId

Methods inherited from class org.codehaus.plexus.logging.AbstractLogEnabled

enableLogging, getLogger, setupLogger, setupLogger, setupLogger

Method Details

assembleComponent

public List assembleComponent(Object component,
                              ComponentDescriptor descriptor,
                              PlexusContainer container)
            throws CompositionException,
                   UndefinedComponentComposerException
Specified by:
assembleComponent in interface ComponentComposer
Parameters:
component -
container -
Returns:
List of ComponentDescriptors which were used by ComponentComposer

findMatchingPropertyDescriptor

protected PropertyDescriptor findMatchingPropertyDescriptor(ComponentRequirement requirement,
                                                            PropertyDescriptor[] propertyDescriptors)
Parameters:
requirement -
Returns:

getErrorMessage

private String getErrorMessage(ComponentDescriptor descriptor,
                               ComponentRequirement requirement,
                               String causeDescription)

getPropertyDescriptorByName

protected PropertyDescriptor getPropertyDescriptorByName(String name,
                                                         PropertyDescriptor[] propertyDescriptors)
Parameters:
name -
Returns:

getPropertyDescriptorByType

protected PropertyDescriptor getPropertyDescriptorByType(String type,
                                                         PropertyDescriptor[] propertyDescriptors)

reportErrorCannotAssignRequiredComponent

private void reportErrorCannotAssignRequiredComponent(ComponentDescriptor descriptor,
                                                      ComponentRequirement requirement,
                                                      Exception e)
            throws CompositionException

reportErrorCannotLookupRequiredComponent

private void reportErrorCannotLookupRequiredComponent(ComponentDescriptor descriptor,
                                                      ComponentRequirement requirement,
                                                      Throwable cause)
            throws CompositionException

reportErrorFailedToIntrospect

private void reportErrorFailedToIntrospect(ComponentDescriptor descriptor)
            throws CompositionException
Parameters:
descriptor -

reportErrorNoSuchProperty

private void reportErrorNoSuchProperty(ComponentDescriptor descriptor,
                                       ComponentRequirement requirement)
            throws CompositionException

setProperty

private List setProperty(Object component,
                         ComponentDescriptor descriptor,
                         ComponentRequirement requirement,
                         PropertyDescriptor propertyDescriptor,
                         PlexusContainer container)
            throws CompositionException