package alien4cloud.utils;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import org.springframework.context.ApplicationContext;
public class SpringUtils {
/**
* Get beans of type from context and recursively from parent contexts.
*/
public static <T extends Object> Collection<T> getBeansOfType(ApplicationContext context, Class<T> type) {
List<T> result = new ArrayList<T>();
recursivelyGetBeansOfType(context, type, result);
return result;
}
private static <T extends Object> void recursivelyGetBeansOfType(ApplicationContext context, Class<T> type, List<T> result) {
result.addAll(context.getBeansOfType(type).values());
if (context.getParent() != null) {
recursivelyGetBeansOfType(context.getParent(), type, result);
}
}
}