public class EchoScriptEngine extends java.lang.Object implements ScriptEngine
Modifier and Type | Field and Description |
---|---|
protected boolean |
busy |
protected Shell |
shell |
Constructor and Description |
---|
EchoScriptEngine() |
Modifier and Type | Method and Description |
---|---|
void |
abort()
Abort currently running script.
|
void |
bind(Shell shell)
Bind input/output shell.
|
void |
deliver(Message msg)
Deliver message to user, typically by displaying it on the shell in an appropriate format.
|
boolean |
exec(java.lang.Class<?> script)
Execute a precompiled script.
|
boolean |
exec(java.lang.Class<?> script,
java.util.List<java.lang.String> args)
Execute a precomplied script.
|
boolean |
exec(java.io.File script)
Execute a script file.
|
boolean |
exec(java.io.File script,
java.util.List<java.lang.String> args)
Execute a script file.
|
boolean |
exec(java.io.Reader reader,
java.lang.String name)
Execute a script from a reader.
|
boolean |
exec(java.io.Reader reader,
java.lang.String name,
java.util.List<java.lang.String> args)
Execute a script from a reader.
|
boolean |
exec(java.lang.String cmd)
Execute a command.
|
java.lang.String |
getPrompt(boolean cont)
Get the command prompt.
|
java.lang.Object |
getVariable(java.lang.String name)
Get value of script variable.
|
void |
importClasses(java.lang.String clazz)
Make classes accessible from script without qualified names.
|
java.lang.String |
input()
Gets an input offered by
ScriptEngine.offer(String) . |
boolean |
isBusy()
Check if script is currently being executed.
|
boolean |
isComplete(java.lang.String cmd)
Checks if a string is a complete command.
|
boolean |
offer(java.lang.String s)
Offers a string input to a running script.
|
protected void |
println(java.lang.String s) |
void |
setVariable(java.lang.String name,
java.lang.Object value)
Bind script variable.
|
void |
shutdown()
Terminate the scripting engine.
|
protected Shell shell
protected boolean busy
protected void println(java.lang.String s)
public java.lang.String getPrompt(boolean cont)
ScriptEngine
getPrompt
in interface ScriptEngine
cont
- true if continuation line, false if first line.public boolean isComplete(java.lang.String cmd)
ScriptEngine
isComplete
in interface ScriptEngine
cmd
- command to check.public void bind(Shell shell)
ScriptEngine
bind
in interface ScriptEngine
shell
- shell for input/output (null to supress).public boolean exec(java.lang.String cmd)
ScriptEngine
exec
in interface ScriptEngine
cmd
- command to execute.public boolean exec(java.io.File script)
ScriptEngine
exec
in interface ScriptEngine
script
- script file to execute.public boolean exec(java.io.File script, java.util.List<java.lang.String> args)
ScriptEngine
exec
in interface ScriptEngine
script
- script file to execute.args
- arguments to pass to script.public boolean exec(java.lang.Class<?> script)
ScriptEngine
exec
in interface ScriptEngine
script
- script class to execute.public boolean exec(java.lang.Class<?> script, java.util.List<java.lang.String> args)
ScriptEngine
exec
in interface ScriptEngine
script
- script class to execute.args
- arguments to pass to script.public boolean exec(java.io.Reader reader, java.lang.String name)
ScriptEngine
exec
in interface ScriptEngine
reader
- reader to read script from.name
- reader name for logging.public boolean exec(java.io.Reader reader, java.lang.String name, java.util.List<java.lang.String> args)
ScriptEngine
exec
in interface ScriptEngine
reader
- reader to read script from.name
- reader name for logging.args
- arguments to pass to script.public void deliver(Message msg)
ScriptEngine
deliver
in interface ScriptEngine
msg
- message to deliver.public boolean offer(java.lang.String s)
ScriptEngine
offer
in interface ScriptEngine
s
- string inputpublic java.lang.String input()
ScriptEngine
ScriptEngine.offer(String)
. Blocks until an input is available or
an interrupt. This is used to allow interactive scripts.input
in interface ScriptEngine
public boolean isBusy()
ScriptEngine
isBusy
in interface ScriptEngine
public void abort()
ScriptEngine
abort
in interface ScriptEngine
public void setVariable(java.lang.String name, java.lang.Object value)
ScriptEngine
setVariable
in interface ScriptEngine
name
- name of script variable.value
- of script variable.public java.lang.Object getVariable(java.lang.String name)
ScriptEngine
getVariable
in interface ScriptEngine
name
- name of script variable.public void importClasses(java.lang.String clazz)
ScriptEngine
importClasses
in interface ScriptEngine
clazz
- qualified class name (with wildcards).public void shutdown()
ScriptEngine
shutdown
in interface ScriptEngine