samples/consistency/src-api2.0/api/Lookup.java
changeset 209 1c999569643b
parent 200 c2f0f73f0e02
child 210 acf2c31e22d4
     1.1 --- a/samples/consistency/src-api2.0/api/Lookup.java	Sat Jun 14 10:04:08 2008 +0200
     1.2 +++ b/samples/consistency/src-api2.0/api/Lookup.java	Sat Jun 14 10:04:51 2008 +0200
     1.3 @@ -1,11 +1,6 @@
     1.4  package api;
     1.5  
     1.6 -import java.util.ArrayList;
     1.7  import java.util.Collection;
     1.8 -import java.util.Collections;
     1.9 -import java.util.HashSet;
    1.10 -import java.util.Iterator;
    1.11 -import java.util.List;
    1.12  import java.util.Set;
    1.13  
    1.14  /** Simplified version of NetBeans 
    1.15 @@ -18,49 +13,26 @@
    1.16   * @version 2.0
    1.17   */
    1.18  // BEGIN: design.consistency.2.0
    1.19 -public abstract class Lookup {
    1.20 -    /** only for classes in the same package */
    1.21 +public final class Lookup {
    1.22      Lookup() {
    1.23      }
    1.24      
    1.25      // BEGIN: design.consistency.lookup.2.0
    1.26      public <T> T lookup(Class<T> clazz) {
    1.27 -        Iterator<T> it = doLookup(clazz);
    1.28 -        return it.hasNext() ? it.next() : null;
    1.29 +        return null;
    1.30      }
    1.31      // END: design.consistency.lookup.2.0
    1.32  
    1.33      // BEGIN: design.consistency.lookupAll.2.0
    1.34      public <T> Collection<? extends T> lookupAll(Class<T> clazz) {
    1.35 -        Iterator<T> it = doLookup(clazz);
    1.36 -        if (!it.hasNext()) {
    1.37 -            return Collections.emptyList();
    1.38 -        } else {
    1.39 -            List<T> result = new ArrayList<T>();
    1.40 -            while (it.hasNext()) {
    1.41 -                result.add(it.next());
    1.42 -            }
    1.43 -            return result;
    1.44 -        }
    1.45 +        return null;
    1.46      }
    1.47      // END: design.consistency.lookupAll.2.0
    1.48  
    1.49      // BEGIN: design.consistency.lookupAllClasses.2.0
    1.50      public <T> Set<Class<? extends T>> lookupAllClasses(Class<T> clazz) {
    1.51 -        Iterator<T> it = doLookup(clazz);
    1.52 -        if (!it.hasNext()) {
    1.53 -            return Collections.emptySet();
    1.54 -        } else {
    1.55 -            Set<Class<? extends T>> result = 
    1.56 -                new HashSet<Class<? extends T>>();
    1.57 -            while (it.hasNext()) {
    1.58 -                result.add(it.next().getClass().asSubclass(clazz));
    1.59 -            }
    1.60 -            return result;
    1.61 -        }
    1.62 +        return null;
    1.63      }
    1.64      // END: design.consistency.lookupAllClasses.2.0
    1.65 -// FINISH: design.consistency.2.0
    1.66 -    
    1.67 -    abstract <T> Iterator<T> doLookup(Class<T> clazz);
    1.68  }
    1.69 +// END: design.consistency.2.0
    1.70 \ No newline at end of file