org.codehaus.plexus.component.composition.setter
Class SetterComponentComposer

java.lang.Object
  extended by org.codehaus.plexus.logging.AbstractLogEnabled
      extended by org.codehaus.plexus.component.composition.AbstractComponentComposer
          extended by org.codehaus.plexus.component.composition.setter.SetterComponentComposer
All Implemented Interfaces:
ComponentComposer, LogEnabled

public class SetterComponentComposer
extends AbstractComponentComposer

Version:
$Id: SetterComponentComposer.java 6976 2007-10-21 16:11:08Z jvanzyl $
Author:
Michal Maczka, Jason van Zyl

Field Summary
static java.lang.String PROPERTY_DESCRIPTORS
           
 
Fields inherited from interface org.codehaus.plexus.component.composition.ComponentComposer
ROLE
 
Constructor Summary
SetterComponentComposer()
           
 
Method Summary
 void assignRequirement(java.lang.Object component, ComponentDescriptor descriptor, ComponentRequirement requirement, PlexusContainer container, java.util.Map compositionContext, org.codehaus.plexus.classworlds.realm.ClassRealm lookupRealm)
           
 java.util.Map createCompositionContext(java.lang.Object component, ComponentDescriptor descriptor)
           
protected  java.beans.PropertyDescriptor findMatchingPropertyDescriptor(ComponentRequirement requirement, java.beans.PropertyDescriptor[] propertyDescriptors)
           
private  java.lang.String getErrorMessage(ComponentDescriptor descriptor, ComponentRequirement requirement, java.lang.String causeDescription)
           
 java.lang.String getId()
           
protected  java.beans.PropertyDescriptor getPropertyDescriptorByName(java.lang.String name, java.beans.PropertyDescriptor[] propertyDescriptors)
           
protected  java.beans.PropertyDescriptor getPropertyDescriptorByType(java.lang.String type, java.beans.PropertyDescriptor[] propertyDescriptors)
           
 java.util.List gleanAutowiringRequirements(java.util.Map compositionContext, PlexusContainer container, org.codehaus.plexus.classworlds.realm.ClassRealm componentRealm)
           
private  void reportErrorCannotAssignRequiredComponent(ComponentDescriptor descriptor, ComponentRequirement requirement, java.lang.Exception e)
           
private  void reportErrorNoSuchProperty(ComponentDescriptor descriptor, ComponentRequirement requirement)
           
private  java.util.List setProperty(java.lang.Object component, ComponentDescriptor descriptor, ComponentRequirement requirementDescriptor, java.beans.PropertyDescriptor propertyDescriptor, PlexusContainer container, org.codehaus.plexus.classworlds.realm.ClassRealm lookupRealm)
           
 
Methods inherited from class org.codehaus.plexus.component.composition.AbstractComponentComposer
assembleComponent, assembleComponent, assignRequirement, findRequirement, verifyComponentSuitability
 
Methods inherited from class org.codehaus.plexus.logging.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROPERTY_DESCRIPTORS

public static final java.lang.String PROPERTY_DESCRIPTORS
Constructor Detail

SetterComponentComposer

public SetterComponentComposer()
Method Detail

getId

public java.lang.String getId()

createCompositionContext

public java.util.Map createCompositionContext(java.lang.Object component,
                                              ComponentDescriptor descriptor)
                                       throws CompositionException
Specified by:
createCompositionContext in interface ComponentComposer
Overrides:
createCompositionContext in class AbstractComponentComposer
Throws:
CompositionException

assignRequirement

public void assignRequirement(java.lang.Object component,
                              ComponentDescriptor descriptor,
                              ComponentRequirement requirement,
                              PlexusContainer container,
                              java.util.Map compositionContext,
                              org.codehaus.plexus.classworlds.realm.ClassRealm lookupRealm)
                       throws CompositionException
Throws:
CompositionException

gleanAutowiringRequirements

public java.util.List gleanAutowiringRequirements(java.util.Map compositionContext,
                                                  PlexusContainer container,
                                                  org.codehaus.plexus.classworlds.realm.ClassRealm componentRealm)

setProperty

private java.util.List setProperty(java.lang.Object component,
                                   ComponentDescriptor descriptor,
                                   ComponentRequirement requirementDescriptor,
                                   java.beans.PropertyDescriptor propertyDescriptor,
                                   PlexusContainer container,
                                   org.codehaus.plexus.classworlds.realm.ClassRealm lookupRealm)
                            throws CompositionException
Throws:
CompositionException

findMatchingPropertyDescriptor

protected java.beans.PropertyDescriptor findMatchingPropertyDescriptor(ComponentRequirement requirement,
                                                                       java.beans.PropertyDescriptor[] propertyDescriptors)

getPropertyDescriptorByName

protected java.beans.PropertyDescriptor getPropertyDescriptorByName(java.lang.String name,
                                                                    java.beans.PropertyDescriptor[] propertyDescriptors)

getPropertyDescriptorByType

protected java.beans.PropertyDescriptor getPropertyDescriptorByType(java.lang.String type,
                                                                    java.beans.PropertyDescriptor[] propertyDescriptors)

reportErrorNoSuchProperty

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

reportErrorCannotAssignRequiredComponent

private void reportErrorCannotAssignRequiredComponent(ComponentDescriptor descriptor,
                                                      ComponentRequirement requirement,
                                                      java.lang.Exception e)
                                               throws CompositionException
Throws:
CompositionException

getErrorMessage

private java.lang.String getErrorMessage(ComponentDescriptor descriptor,
                                         ComponentRequirement requirement,
                                         java.lang.String causeDescription)