samples/componentinjection/src/org/apidesign/component/InjectionViaServiceLoader.java
changeset 83 ab11b9173089
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/samples/componentinjection/src/org/apidesign/component/InjectionViaServiceLoader.java	Sat Jun 14 09:53:44 2008 +0200
     1.3 @@ -0,0 +1,22 @@
     1.4 +package org.apidesign.component;
     1.5 +
     1.6 +import java.util.Collection;
     1.7 +import java.util.ServiceLoader;
     1.8 +import org.openide.util.Lookup;
     1.9 +
    1.10 +public class InjectionViaServiceLoader {
    1.11 +    private InjectionViaServiceLoader() {
    1.12 +    }
    1.13 +    
    1.14 +    // BEGIN: lookup.query.serviceloader
    1.15 +    public static InjectionSlot singleSlot() {
    1.16 +        // get one implementation
    1.17 +        return ServiceLoader.load(InjectionSlot.class).iterator().next();
    1.18 +    }
    1.19 +    
    1.20 +    public static Iterable<? extends InjectionSlot> multiSlot() {
    1.21 +        // get all registered implementations
    1.22 +        return ServiceLoader.load(InjectionSlot.class);
    1.23 +    }
    1.24 +    // END: lookup.query.serviceloader
    1.25 +}