public class EnvironmentModule extends AbstractScriptModule implements IEnvironment
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
EASE_CODE_PREFIX |
static java.lang.String |
MODULE_NAME |
static java.lang.String |
MODULE_PREFIX |
| Constructor and Description |
|---|
EnvironmentModule() |
| Modifier and Type | Method and Description |
|---|---|
void |
addModuleListener(IModuleListener listener) |
java.lang.Object |
execute(java.lang.Object data)
Execute script code.
|
void |
exit(java.lang.Object value)
Terminates script execution immediately.
|
java.lang.Object |
getModule(java.lang.String name)
Resolves a loaded module and returns the Java instance.
|
<T,U extends java.lang.Class<T>> |
getModule(U clazz)
Resolves a loaded module by its class.
|
java.util.List<java.lang.Object> |
getModules()
Retrieve a list of loaded modules.
|
IScriptEngine |
getScriptEngine()
Get the current script engine instance.
|
static java.lang.String |
getWrappedVariableName(java.lang.Object toBeWrapped) |
void |
help(java.lang.String topic)
Open help page on addressed topic.
|
java.lang.Object |
include(java.lang.String filename)
Include and execute a script file.
|
void |
initialize(IScriptEngine engine,
IEnvironment environment)
Provides script engine and environment instances.
|
java.lang.String |
listModules()
List all available (visible) modules.
|
boolean |
loadJar(java.lang.Object location)
Add a jar file to the classpath.
|
java.lang.Object |
loadModule(java.lang.String moduleIdentifier,
boolean useCustomNamespace)
Load a module.
|
void |
print(java.lang.Object text,
boolean lineFeed)
Write a message to the output stream of the script engine.
|
void |
printError(java.lang.Object text)
Write a message to the error stream of the script engine.
|
java.lang.String |
readInput(boolean blocking)
Read a single line of data from the default input stream of the script engine.
|
void |
removeModuleListener(IModuleListener listener) |
java.lang.Object |
wrap(java.lang.Object toBeWrapped,
boolean useCustomNamespace)
Wrap a java instance.
|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetEnvironmentpublic static final java.lang.String MODULE_NAME
public static final java.lang.String EASE_CODE_PREFIX
public static final java.lang.String MODULE_PREFIX
public final java.lang.Object loadModule(java.lang.String moduleIdentifier,
@ScriptParameter(defaultValue="false")
boolean useCustomNamespace)
IEnvironmentWhen not using a custom namespace all variables and functions are loaded to the global namespace, possibly overriding existing functions. In such cases the Java module instance is returned. When useCustomNamespace is used a dynamic script object is created and returned.In such cases the global namespace is not changed. The namespace behavior is also used for loading dependencies.
loadModule in interface IEnvironmentmoduleIdentifier - name of module to loaduseCustomNamespace - set to true if functions and constants should not be stored to the global namespace but to a custom objectpublic void initialize(IScriptEngine engine, IEnvironment environment)
IScriptModuleinitialize in interface IScriptModuleinitialize in class AbstractScriptModuleengine - script engine this module is loaded inenvironment - environment module that tracks this modulepublic final java.lang.String listModules()
public final java.lang.Object getModule(java.lang.String name)
getModule in interface IEnvironmentname - name of the module to resolvenullpublic <T,U extends java.lang.Class<T>> T getModule(U clazz)
getModule in interface IEnvironmentclazz - module class to look resolvenullpublic java.util.List<java.lang.Object> getModules()
IEnvironmentgetModules in interface IEnvironmentpublic final void print(@ScriptParameter(defaultValue="") java.lang.Object text, @ScriptParameter(defaultValue="true") boolean lineFeed)
print in interface IEnvironmenttext - message to writelineFeed - true to add a line feed after the textpublic final void printError(@ScriptParameter(defaultValue="") java.lang.Object text)
text - message to writepublic void addModuleListener(IModuleListener listener)
addModuleListener in interface IEnvironmentpublic void removeModuleListener(IModuleListener listener)
removeModuleListener in interface IEnvironmentpublic java.lang.String readInput(@ScriptParameter(defaultValue="true") boolean blocking) throws java.io.IOException
blocking - true results in a blocking call until data is available, false returns in any casenulljava.io.IOException - when reading on the input stream failspublic java.lang.Object wrap(java.lang.Object toBeWrapped,
@ScriptParameter(defaultValue="false")
boolean useCustomNamespace)
IEnvironmentWrapToScript only these will be wrapped. If no annotation can be found, all public methods/constants will
be wrapped. As some target languages might not support method overloading this might result in some methods not wrapped correctly.wrap in interface IEnvironmenttoBeWrapped - instance to be wrappeduseCustomNamespace - set to true if functions and constants should not be stored to the global namespace but to the return value onlypublic static final java.lang.String getWrappedVariableName(java.lang.Object toBeWrapped)
public final java.lang.Object execute(java.lang.Object data)
data - code to be interpretedpublic final void exit(@ScriptParameter(defaultValue="org.eclipse.ease.modules.ScriptParameter.null") java.lang.Object value)
value - return codepublic final java.lang.Object include(java.lang.String filename)
filename - name of file to be includedjava.lang.Throwablepublic IScriptEngine getScriptEngine()
getScriptEngine in interface IEnvironmentgetScriptEngine in class AbstractScriptModuleIScriptEngine instancepublic boolean loadJar(java.lang.Object location)
throws java.net.MalformedURLException
public void help(@ScriptParameter(defaultValue="org.eclipse.ease.modules.ScriptParameter.null") java.lang.String topic)
topic - help topic to open (typically a function name)