1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.commons.jelly.tags.define;
17
18 import org.apache.commons.jelly.JellyTagException;
19 import org.apache.commons.jelly.TagSupport;
20 import org.apache.commons.jelly.XMLOutput;
21
22 /***
23 * <script> tag is used to assign a Script object
24 * to a variable. The script can then be called whenever the user wishes
25 * maybe from inside an expression or more typically via the <invoke> tag.</p>
26 *
27 * @author <a href="mailto:jstrachan@apache.org">James Strachan</a>
28 * @version $Revision: 155420 $
29 */
30 public class ScriptTag extends TagSupport {
31
32 private String var;
33
34 public ScriptTag() {
35 }
36
37
38
39 public void doTag(XMLOutput output) throws JellyTagException {
40 if ( var == null ) {
41 throw new JellyTagException( "<define:script> must have a var attribute" );
42 }
43 context.setVariable( var, getBody() );
44 }
45
46
47
48
49 /*** @return the variable name of the script to create */
50 public String getVar() {
51 return var;
52 }
53
54 /*** Sets the variable name of the tag to create */
55 public void setVar(String var) {
56 this.var = var;
57 }
58 }