1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.jelly;
18
19 /***
20 * <p><code>Script</code> represents a Jelly script.
21 * A Script <b>must</b> be thread safe so care should be taken on the
22 * implementations of Scripts. However Tags are only used in a single thread
23 * (each thread will have create its own Tags for the Script it is running)
24 * so multi threading is not a concern for Tag developers.</p>
25 *
26 * @author <a href="mailto:jstrachan@apache.org">James Strachan</a>
27 * @version $Revision: 155420 $
28 */
29 public interface Script {
30
31 /*** Called by the parser to allow a more efficient
32 * representation of the script to be used.
33 */
34 public Script compile() throws JellyException;
35
36 /*** Evaluates the body of a tag */
37 public void run(JellyContext context, XMLOutput output) throws JellyTagException;
38
39 }