1 package org.nanocontainer.script.groovy.buildernodes; 2 3 import java.util.Map ; 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 NODE_NAME = "decoratingPicoContainer"; 11 12 public DecoratingPicoContainerNode() { 13 super(NODE_NAME); 14 } 15 16 public Object createNewNode(Object current, Map 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 clazz = (Class ) attributes.remove("class"); 23 NanoContainer container = (NanoContainer) current; 24 25 return container.addDecoratingPicoContainer(clazz); 26 } 27 28 } 29 | Popular Tags |