samples/componentinjection/src/org/apidesign/component/InjectionViaServiceLoader.java
author Jaroslav Tulach <jtulach@netbeans.org>
Sat, 14 Jun 2008 09:53:44 +0200
changeset 83 ab11b9173089
permissions -rw-r--r--
Showing use of service loader
     1 package org.apidesign.component;
     2 
     3 import java.util.Collection;
     4 import java.util.ServiceLoader;
     5 import org.openide.util.Lookup;
     6 
     7 public class InjectionViaServiceLoader {
     8     private InjectionViaServiceLoader() {
     9     }
    10     
    11     // BEGIN: lookup.query.serviceloader
    12     public static InjectionSlot singleSlot() {
    13         // get one implementation
    14         return ServiceLoader.load(InjectionSlot.class).iterator().next();
    15     }
    16     
    17     public static Iterable<? extends InjectionSlot> multiSlot() {
    18         // get all registered implementations
    19         return ServiceLoader.load(InjectionSlot.class);
    20     }
    21     // END: lookup.query.serviceloader
    22 }