KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > nanocontainer > script > NodeBuilderDecorationDelegate


1 /*****************************************************************************
2  * Copyright (C) NanoContainer Organization. All rights reserved. *
3  * ------------------------------------------------------------------------- *
4  * The software in this package is published under the terms of the BSD *
5  * style license a copy of which has been included with this distribution in *
6  * the LICENSE.txt file. *
7  * *
8  * Original code by Paul Hammant and Aslak Hellesøy *
9  *****************************************************************************/

10
11 package org.nanocontainer.script;
12
13 import org.picocontainer.MutablePicoContainer;
14 import org.picocontainer.defaults.ComponentAdapterFactory;
15
16 import java.util.Map JavaDoc;
17
18 /**
19  * Implementors of this class can be passed to {@link org.nanocontainer.script.groovy.OldGroovyNodeBuilder}'s constructor
20  * to dynamically extend the core builder syntax.
21  *
22  * Note: Although this interface is currently only used by the Groovy {@link org.nanocontainer.script.groovy.OldGroovyNodeBuilder}
23  * class, there is nothing groovy going on here - nor in the AOP subclass {@link org.nanocontainer.aop.defaults.AopNodeBuilderDecorationDelegate}
24  * class. In other words, it should be easy to add AOP capabilities to the other scripting engines such as the XML ones.
25  *
26  * @author Paul Hammant
27  * @author Aslak Hellesøy
28  * @version $Revision: 2863 $
29  */

30 public interface NodeBuilderDecorationDelegate {
31
32     ComponentAdapterFactory decorate(ComponentAdapterFactory componentAdapterFactory, Map JavaDoc attributes);
33
34     MutablePicoContainer decorate(MutablePicoContainer picoContainer);
35
36     Object JavaDoc createNode(Object JavaDoc name, Map JavaDoc attributes, Object JavaDoc parentElement);
37
38     void rememberComponentKey(Map JavaDoc attributes);
39 }
40
Popular Tags