# HG changeset patch # User Jaroslav Tulach # Date 1213430023 -7200 # Node ID fda142e38ae4845305c5a9bab83cdcfc2b1edc2f # Parent 1a89c6d914f6f5aeec7b435ea70d35fdb82a1b11 Lookup all and one in code diff -r 1a89c6d914f6 -r fda142e38ae4 samples/componentinjection/nbproject/project.properties --- a/samples/componentinjection/nbproject/project.properties Sat Jun 14 09:53:42 2008 +0200 +++ b/samples/componentinjection/nbproject/project.properties Sat Jun 14 09:53:43 2008 +0200 @@ -17,9 +17,11 @@ dist.javadoc.dir=${dist.dir}/javadoc excludes= file.reference.junit-4.4.jar=../libs/dist/junit-4.4.jar +file.reference.org-openide-util.jar=../libs/dist/org-openide-util.jar includes=** jar.compress=false -javac.classpath= +javac.classpath=\ + ${file.reference.org-openide-util.jar} # Space-separated list of extra javac options javac.compilerargs= javac.deprecation=false diff -r 1a89c6d914f6 -r fda142e38ae4 samples/componentinjection/src/org/apidesign/component/DefineInjectionSlot.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/samples/componentinjection/src/org/apidesign/component/DefineInjectionSlot.java Sat Jun 14 09:53:43 2008 +0200 @@ -0,0 +1,23 @@ +package org.apidesign.component; + +import java.util.Collection; +import org.openide.util.Lookup; + +public class DefineInjectionSlot { + private DefineInjectionSlot() { + } + + // BEGIN: lookup.define.slot + public static T singleSlot(Class clazz) { + // get one implementation + T instance = Lookup.getDefault().lookup(clazz); + return instance; + } + + public static Collection multiSlot(Class clazz) { + // get all registered implementations + Collection all = Lookup.getDefault().lookupAll(clazz); + return all; + } + // END: lookup.define.slot +}