samples/componentinjection/src/org/apidesign/component/InjectionViaServiceLoader.java
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 +}