1 /*
2 * Copyright (C) 2004 The Concord Consortium, Inc.,
3 * 10 Concord Crossing, Concord, MA 01741
4 *
5 * Web Site: http://www.concord.org
6 * Email: info@concord.org
7 *
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
12 *
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 *
22 */
23 package net.sf.sail.core.activity.model;
24
25 import javax.script.ScriptContext;
26 import javax.script.ScriptEngine;
27 import javax.script.ScriptException;
28
29 /**
30 * @author eburke
31 *
32 * The Script interface defines the methods for manipulating the script text.
33 * It is responsible for keeping track of the ScriptEngine and related data.
34 * It also provides an evaluate method to which containing classes can delegate.
35 */
36 public interface IScript
37 {
38 /**
39 * evaluate - evaluates the script text relative to the script engine
40 * assigned at creation time. Will compile the script if the engine
41 * is Compilable.
42 * @return
43 * @throws ScriptException
44 */
45 public Object evaluate()
46 throws ScriptException;
47
48 /**
49 * getText
50 * @return - the script text
51 */
52 public String getText();
53
54 /**
55 * setText - set the script text string
56 * @param text - the script text
57 */
58 public void setText(String text);
59
60 /**
61 * getScriptEngine
62 * @return - the ScriptEngine for this script, provided at Script creation
63 */
64 public ScriptEngine getScriptEngine();
65
66 /**
67 * getScriptContext
68 * @return - the ScriptContext for this script. Determined by the
69 * ScriptEngine provided when the Script was created.
70 */
71 public ScriptContext getScriptContext();
72 }