コード例 #1
0
  private List setProperty(
      Object component,
      ComponentDescriptor descriptor,
      ComponentRequirement requirementDescriptor,
      PropertyDescriptor propertyDescriptor,
      PlexusContainer container,
      ClassRealm lookupRealm)
      throws CompositionException {
    Requirement requirement =
        findRequirement(
            component,
            propertyDescriptor.getPropertyType(),
            container,
            requirementDescriptor,
            lookupRealm);

    try {
      Method writeMethod = propertyDescriptor.getWriteMethod();

      Object[] params = new Object[1];

      params[0] = requirement.getAssignment();

      Statement statement = new Statement(component, writeMethod.getName(), params);

      statement.execute();
    } catch (Exception e) {
      reportErrorCannotAssignRequiredComponent(descriptor, requirementDescriptor, e);
    }

    return requirement.getComponentDescriptors();
  }