KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > nanocontainer > script > groovy > buildernodes > DecoratingPicoContainerNode


1 package org.nanocontainer.script.groovy.buildernodes;
2
3 import java.util.Map JavaDoc;
4
5 import org.nanocontainer.NanoContainer;
6 import org.nanocontainer.script.NanoContainerMarkupException;
7
8 public class DecoratingPicoContainerNode extends AbstractBuilderNode {
9
10     public static final String JavaDoc NODE_NAME = "decoratingPicoContainer";
11
12     public DecoratingPicoContainerNode() {
13         super(NODE_NAME);
14     }
15
16     public Object JavaDoc createNewNode(Object JavaDoc current, Map JavaDoc attributes) {
17
18         if (!(current instanceof NanoContainer)) {
19             throw new NanoContainerMarkupException("Don't know how to create a 'decoratingPicoContainer' child of a '" + current.getClass() + "' parent");
20         }
21
22         Class JavaDoc clazz = (Class JavaDoc) attributes.remove("class");
23         NanoContainer container = (NanoContainer) current;
24
25         return container.addDecoratingPicoContainer(clazz);
26     }
27
28 }
29
Popular Tags