1.1 --- a/samples/consistency/src-api2.0/api/Lookups.java Sat Jun 14 10:04:51 2008 +0200
1.2 +++ b/samples/consistency/src-api2.0/api/Lookups.java Sat Jun 14 10:04:53 2008 +0200
1.3 @@ -1,6 +1,8 @@
1.4 package api;
1.5
1.6 +import java.util.ArrayList;
1.7 import java.util.Collection;
1.8 +import java.util.Iterator;
1.9 import java.util.Set;
1.10
1.11 /** Factory to create various types of lookup instances.
1.12 @@ -12,12 +14,30 @@
1.13 private Lookups() {
1.14 }
1.15
1.16 - public static Lookup fixed(Object... instances) {
1.17 - return null;
1.18 + public static Lookup fixed(final Object... instances) {
1.19 + return new Lookup() {
1.20 + @Override
1.21 + <T> Iterator<T> doLookup(Class<T> clazz) {
1.22 + ArrayList<T> result = new ArrayList<T>();
1.23 + for (Object obj : instances) {
1.24 + if (clazz.isInstance(obj)) {
1.25 + result.add(clazz.cast(obj));
1.26 + }
1.27 + }
1.28 + return result.iterator();
1.29 + }
1.30 + };
1.31 }
1.32
1.33 - public static Lookup dynamic(Dynamic provider) {
1.34 - return null;
1.35 + public static Lookup dynamic(final Dynamic provider) {
1.36 + return new Lookup() {
1.37 + @Override
1.38 + <T> Iterator<T> doLookup(Class<T> clazz) {
1.39 + ArrayList<T> result = new ArrayList<T>();
1.40 + provider.computeInstances(clazz, result);
1.41 + return result.iterator();
1.42 + }
1.43 + };
1.44 }
1.45
1.46 public interface Dynamic {