|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface ScriptEngineInitializer
Is able to instantiate a script engine and import packages into the context of the engine.
| Method Summary | |
|---|---|
String |
extractUserFriendlyErrorMessage(ScriptException e)
At least the Rhino script engine for java script generates exceptions whose error messages contain just "too much" information to be easily decipherable by the end users. |
Set<String> |
generateIndirectionMethods(String boundObjectName,
Set<Method> overloadedMethods)
This function returns a definition string in the script engine's language that provides an indirection to calling the method on the bound object. |
void |
installScriptSourceProvider(ScriptEngine scriptEngine,
ScriptSourceProvider scriptSourceProvider)
Installs given script source provider into the script engine. |
ScriptEngine |
instantiate(Set<String> packages,
PermissionCollection permissions)
Instantiates a new script engine, makes the provided java packages "imported" into the context (i.e. |
| Method Detail |
|---|
ScriptEngine instantiate(Set<String> packages,
PermissionCollection permissions)
throws ScriptException
packages - the list of java packages to be imported in the contextscriptSourceProvider - the provider of the sources of scripts - can be null to use no
script source provider and depend on the default module loading mechanisms of the script languagepermissions - the security permissions the script engine should execute the script with, can be null
in which case the script engine is unsecured
ScriptException
void installScriptSourceProvider(ScriptEngine scriptEngine,
ScriptSourceProvider scriptSourceProvider)
scriptEngine - scriptSourceProvider -
IllegalArgumentException - if the script engine is not supported by this initializer
Set<String> generateIndirectionMethods(String boundObjectName,
Set<Method> overloadedMethods)
boundObjectName = foo
method = <int bar(int)>
function bar(arg) { return foo.bar(arg); }
This method gets passed all the overloaded versions of a method on the object (i.e. all the methods with the same name) and is free to return any number of functions that will map all the possible overloaded versions.
This is because different scripting languages have different support for function overloading and different ways of handling varying number of arguments of a function.
boundObjectName - overloadedMethods -
String extractUserFriendlyErrorMessage(ScriptException e)
This method extracts messages from the exception such that they are presentable to the end user.
The returned string should only contain the error message. The filename, line and column information should be stripped from it if at all possible.
e -
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||