KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > picocontainer > doc > introduction > HierarchyTestCase


1 package org.picocontainer.doc.introduction;
2
3 import junit.framework.TestCase;
4 import org.picocontainer.MutablePicoContainer;
5 import org.picocontainer.defaults.DefaultPicoContainer;
6 import org.picocontainer.defaults.UnsatisfiableDependenciesException;
7
8 /**
9  * @author Aslak Hellesøy
10  * @version $Revision: 1297 $
11  */

12 public class HierarchyTestCase extends TestCase {
13     public void testHierarchy() {
14         try {
15             // START SNIPPET: wontwork
16
// Create x hierarchy of containers
17
MutablePicoContainer x = new DefaultPicoContainer();
18             MutablePicoContainer y = new DefaultPicoContainer( x );
19             MutablePicoContainer z = new DefaultPicoContainer( x );
20
21             // Assemble components
22
x.registerComponentImplementation(Apple.class);
23             y.registerComponentImplementation(Juicer.class);
24             z.registerComponentImplementation(Peeler.class);
25
26             // Instantiate components
27
Peeler peeler = (Peeler) z.getComponentInstance(Peeler.class);
28             // WON'T WORK! peeler will be null
29
peeler = (Peeler) x.getComponentInstance(Peeler.class);
30             // WON'T WORK! This will throw an exception
31
Juicer juicer = (Juicer) y.getComponentInstance(Juicer.class);
32             // END SNIPPET: wontwork
33
} catch (UnsatisfiableDependenciesException e) {
34             // expected
35
}
36     }
37
38 }
Popular Tags