Exemple #1
0
 private static void completeBatchExtensions(
     ComponentContainer container, List<Object> extensions, Class type) {
   if (container != null) {
     extensions.addAll(container.getComponentsByType(type));
     completeBatchExtensions(container.getParent(), extensions, type);
   }
 }
Exemple #2
0
  private void evaluateMethod(Object extension, Method method, List<Object> results) {
    try {
      Object result = method.invoke(extension);
      if (result != null) {
        if (result instanceof Class<?>) {
          results.addAll(componentContainer.getComponentsByType((Class<?>) result));

        } else if (result instanceof Collection<?>) {
          results.addAll((Collection<?>) result);

        } else if (result.getClass().isArray()) {
          for (int i = 0; i < Array.getLength(result); i++) {
            results.add(Array.get(result, i));
          }

        } else {
          results.add(result);
        }
      }
    } catch (Exception e) {
      throw new IllegalStateException("Can not invoke method " + method, e);
    }
  }
 private static void configureFromModules(ComponentContainer container) {
   List<Module> modules = container.getComponentsByType(Module.class);
   for (Module module : modules) {
     module.configure(container);
   }
 }