public class ScriptJob extends SerializableJob
The named beans property allow values to be passed to and from the script.
<oddjob> <job> <script id="s" language="JavaScript"> <input> <buffer>print ("hello world\n");</buffer> </input> </script> </job> </oddjob>
<oddjob> <job> <sequential> <jobs> <script id="s" language="JavaScript"> <input> <buffer> var snack = fruit; </buffer> </input> <beans> <value key="fruit" value="apple"/> </beans> </script> <echo id="e">${s.variables(fruit)}</echo> </jobs> </sequential> </job> </oddjob>
<oddjob> <job> <sequential> <jobs> <script id="s" language="JavaScript"> <input> <buffer> vars.set('today', new java.util.Date()); </buffer> </input> <beans> <value key="vars" value="${v}"/> </beans> </script> <variables id="v"> <formattedToday> <format date="${v.today}" format="yyyyMMdd"/> </formattedToday> </variables> </jobs> </sequential> </job> </oddjob>
<oddjob> <job> <sequential> <jobs> <script id="substr" language="JavaScript"> <input> <buffer>function substr(string, from, to) { return string.substring(from, to); }</buffer> </input> </script> <properties id="properties"> <values> <value key="text.before" value="Apples and Oranges"/> <invoke function="substr" key="text.after"> <parameters> <value value="${text.before}"/> <value value="0"/> <value value="6"/> </parameters> <source> <value value="${substr.invocable}"/> </source> </invoke> </values> </properties> </jobs> </sequential> </job> </oddjob>
<oddjob> <job> <script language="JavaScript" resultVariable="result" resultForState="true"> <input> <buffer> var result = 1; </buffer> </input> </script> </job> </oddjob>
Constructor and Description |
---|
ScriptJob() |
Modifier and Type | Method and Description |
---|---|
protected int |
execute()
Execute this job.
|
Object |
getBeans(String name)
Get the named bean.
|
ClassLoader |
getClassLoader() |
InputStream |
getInput()
Get the input.
|
Invocable |
getInvocable() |
String |
getLanguage()
Get the language.
|
Object |
getResult() |
String |
getResultVariable() |
Object |
getVariables(String key) |
boolean |
isResultForState() |
void |
setBeans(String name,
Object value)
Add a named bean.
|
void |
setClassLoader(ClassLoader classLoader) |
void |
setInput(InputStream input)
Set the input.
|
void |
setLanguage(String language)
Defines the language (required).
|
void |
setResultForState(boolean resultForState) |
void |
setResultVariable(String resultVariable) |
fireDestroyedState, force, getStateChanger, hardReset, iconHelper, isStop, onDestroy, onReset, onStop, run, sleep, softReset, stateHandler, stop
configure, getName, logger, logger, loggerName, save, setName, toString
addIconListener, addPropertyChangeListener, addStateListener, configure, destroy, firePropertyChange, getArooaSession, iconForId, initialise, lastStateEvent, onConfigured, onInitialised, removeIconListener, removePropertyChangeListener, removeStateListener, save, setArooaContext, setArooaSession
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
addStateListener, lastStateEvent, removeStateListener
protected int execute() throws IOException
SimpleJob
execute
in class SimpleJob
IOException
public void setLanguage(String language)
language
- the scripting language name for the script.public String getLanguage()
public Object getBeans(String name)
name
- The name of the beanpublic void setBeans(String name, Object value)
name
- The name of the bean.value
- The bean.public InputStream getInput()
public void setInput(InputStream input)
input
- The input.public Invocable getInvocable()
public Object getVariables(String key)
Property: variables
Description: Provide access to variables declared within the script.
public String getResultVariable()
public void setResultVariable(String resultVariable)
public boolean isResultForState()
public void setResultForState(boolean resultForState)
public Object getResult()
public ClassLoader getClassLoader()
@Inject public void setClassLoader(ClassLoader classLoader)