KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > kohsuke > stapler > jelly > groovy > Namespace


1 package org.kohsuke.stapler.jelly.groovy;
2
3 import groovy.lang.GroovyObjectSupport;
4 import groovy.xml.QName;
5 import org.apache.commons.jelly.XMLOutput;
6 import org.xml.sax.SAXException JavaDoc;
7
8 /**
9  * @author Kohsuke Kawaguchi
10  */

11 public class Namespace extends GroovyObjectSupport {
12     private final JellyBuilder builder;
13     private final String JavaDoc nsUri;
14     private final String JavaDoc prefix;
15
16     // note that the mapping from nsUri to TagLibrary
17
// may change depending on the scope, so we can't cache TagLibrary
18

19     Namespace(JellyBuilder builder, String JavaDoc nsUri, String JavaDoc prefix) {
20         this.builder = builder;
21         this.nsUri = nsUri;
22         this.prefix = prefix==null ? "" : prefix;
23     }
24
25     public Object JavaDoc invokeMethod(String JavaDoc localName, Object JavaDoc args) {
26         builder.doInvokeMethod(new QName(nsUri,localName,prefix),args);
27         return null;
28     }
29
30     public void startPrefixMapping(XMLOutput output) throws SAXException JavaDoc {
31         output.startPrefixMapping(prefix,nsUri);
32     }
33
34     public void endPrefixMapping(XMLOutput output) throws SAXException JavaDoc {
35         output.endPrefixMapping(prefix);
36
37     }
38 }
39
Popular Tags