3 import java.util.ArrayList;
4 import java.util.Collection;
5 import java.util.HashSet;
9 /** Factory to create various types of lookup instances.
11 * @author Jaroslav Tulach <jtulach@netbeans.org>
14 public final class Lookups {
18 public static Lookup fixed(final Object... instances) {
21 public <T> T lookup(Class<T> clazz) {
22 for (Object obj : instances) {
23 if (clazz.isInstance(obj)) {
24 return clazz.cast(obj);
31 public <T> Collection<? extends T> lookupAll(Class<T> clazz) {
32 List<T> result = new ArrayList<T>();
33 for (Object obj : instances) {
34 if (clazz.isInstance(obj)) {
35 result.add(clazz.cast(obj));
42 public <T> Set<Class<? extends T>> lookupAllClasses(Class<T> clazz) {
43 Set<Class<? extends T>> result = new HashSet<Class<? extends T>>();
44 for (Object obj : instances) {
45 if (clazz.isInstance(obj)) {
46 result.add(obj.getClass().asSubclass(clazz));