KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > tirsen > nanning > jelly > AspectTagLibrary


1 /*
2  * Nanning Aspects
3  *
4  * Distributable under LGPL license.
5  * See terms of license at gnu.org.
6  */

7 package com.tirsen.nanning.jelly;
8
9 import java.util.Collection JavaDoc;
10 import java.util.Iterator JavaDoc;
11 import java.util.LinkedList JavaDoc;
12 import java.util.Map JavaDoc;
13
14 import com.tirsen.nanning.AspectFactory;
15 import org.apache.commons.jelly.JellyContext;
16 import org.apache.commons.jelly.TagLibrary;
17
18 /**
19  * TODO document AspectTagLibrary
20  *
21  * <!-- $Id: AspectTagLibrary.java,v 1.8 2003/05/11 13:40:52 tirsen Exp $ -->
22  *
23  * @author $Author: tirsen $
24  * @version $Revision: 1.8 $
25  */

26 public class AspectTagLibrary extends TagLibrary {
27     public static final String JavaDoc TAG_LIBRARY_URI = "http://nanning.sf.net/jelly/taglib";
28
29     public AspectTagLibrary() {
30         registerTag("aspect-repository", AspectRepositoryTag.class);
31         registerTag("class", AspectClassTag.class);
32         registerTag("aspect", AspectTag.class);
33         registerTag("interface", InterfaceTag.class);
34         registerTag("interceptor", InterceptorTag.class);
35         registerTag("target", TargetTag.class);
36     }
37
38     public static Collection JavaDoc findDefinedRepositories(JellyContext context) {
39         Collection JavaDoc result = new LinkedList JavaDoc();
40         Map JavaDoc variables = context.getVariables();
41         for (Iterator JavaDoc iterator = variables.values().iterator(); iterator.hasNext();) {
42             Object JavaDoc value = iterator.next();
43             if (value instanceof AspectFactory) {
44                 result.add(value);
45             }
46         }
47         return result;
48     }
49 }
50
Popular Tags