public interface ScriptEngineInitializer
| Modifier and Type | Method and Description |
|---|---|
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.
|
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 unsecuredScriptExceptionvoid installScriptSourceProvider(ScriptEngine scriptEngine, ScriptSourceProvider scriptSourceProvider)
scriptEngine - scriptSourceProvider - IllegalArgumentException - if the script engine is not supported by this initializerSet<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 - Copyright © 2008-2013 Red Hat, Inc.. All Rights Reserved.