KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > nanocontainer > webcontainer > groovy > adapters > WaffleAdapter


1 package org.nanocontainer.webcontainer.groovy.adapters;
2
3 import org.nanocontainer.webcontainer.PicoContextHandler;
4 import org.nanocontainer.NanoContainer;
5 import org.nanocontainer.DefaultNanoContainer;
6 import org.picocontainer.MutablePicoContainer;
7
8 import java.util.Map JavaDoc;
9
10 import groovy.util.NodeBuilder;
11
12 public class WaffleAdapter {
13     private final PicoContextHandler context;
14     private final MutablePicoContainer parentContainer;
15
16     public WaffleAdapter(PicoContextHandler context, MutablePicoContainer parentContainer, Map JavaDoc attributes) {
17         this.context = context;
18         this.parentContainer = parentContainer;
19     }
20     public NodeBuilder getNodeBuilder() {
21         String JavaDoc className = "com.thoughtworks.waffle.groovy.WaffleBuilder";
22         NanoContainer factory = new DefaultNanoContainer();
23         factory.getPico().registerComponentInstance(PicoContextHandler.class, context);
24         factory.getPico().registerComponentInstance(MutablePicoContainer.class, parentContainer);
25         try {
26             factory.registerComponentImplementation("wb", className);
27             return (NodeBuilder) factory.getPico().getComponentInstance("wb");
28         } catch (ClassNotFoundException JavaDoc e) {
29             throw new org.nanocontainer.script.BuilderClassNotFoundException(className + " class name not found", e);
30         }
31
32     }
33
34 }
35
Popular Tags