public abstract class BshScriptUtils
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
BshScriptUtils.BshExecutionException
Exception to be thrown on script execution failure.
|
private static class |
BshScriptUtils.BshObjectInvocationHandler
InvocationHandler that invokes a BeanShell script method.
|
Constructor and Description |
---|
BshScriptUtils() |
Modifier and Type | Method and Description |
---|---|
static java.lang.Object |
createBshObject(java.lang.String scriptSource)
Create a new BeanShell-scripted object from the given script source.
|
static java.lang.Object |
createBshObject(java.lang.String scriptSource,
java.lang.Class<?>... scriptInterfaces)
Create a new BeanShell-scripted object from the given script source,
using the default ClassLoader.
|
static java.lang.Object |
createBshObject(java.lang.String scriptSource,
java.lang.Class<?>[] scriptInterfaces,
java.lang.ClassLoader classLoader)
Create a new BeanShell-scripted object from the given script source.
|
(package private) static java.lang.Class<?> |
determineBshObjectType(java.lang.String scriptSource)
Evaluate the specified BeanShell script based on the given script source,
returning the Class defined by the script.
|
(package private) static java.lang.Object |
evaluateBshScript(java.lang.String scriptSource,
java.lang.Class<?>[] scriptInterfaces,
java.lang.ClassLoader classLoader)
Evaluate the specified BeanShell script based on the given script source,
keeping a returned script Class or script Object as-is.
|
public static java.lang.Object createBshObject(java.lang.String scriptSource) throws EvalError
With this createBshObject
variant, the script needs to
declare a full class or return an actual instance of the scripted object.
scriptSource
- the script source textEvalError
- in case of BeanShell parsing failurepublic static java.lang.Object createBshObject(java.lang.String scriptSource, java.lang.Class<?>... scriptInterfaces) throws EvalError
The script may either be a simple script that needs a corresponding proxy generated (implementing the specified interfaces), or declare a full class or return an actual instance of the scripted object (in which case the specified interfaces, if any, need to be implemented by that class/instance).
scriptSource
- the script source textscriptInterfaces
- the interfaces that the scripted Java object is
supposed to implement (may be null
or empty if the script itself
declares a full class or returns an actual instance of the scripted object)EvalError
- in case of BeanShell parsing failurecreateBshObject(String, Class[], ClassLoader)
public static java.lang.Object createBshObject(java.lang.String scriptSource, java.lang.Class<?>[] scriptInterfaces, java.lang.ClassLoader classLoader) throws EvalError
The script may either be a simple script that needs a corresponding proxy generated (implementing the specified interfaces), or declare a full class or return an actual instance of the scripted object (in which case the specified interfaces, if any, need to be implemented by that class/instance).
scriptSource
- the script source textscriptInterfaces
- the interfaces that the scripted Java object is
supposed to implement (may be null
or empty if the script itself
declares a full class or returns an actual instance of the scripted object)classLoader
- the ClassLoader to use for evaluating the scriptEvalError
- in case of BeanShell parsing failurestatic java.lang.Class<?> determineBshObjectType(java.lang.String scriptSource) throws EvalError
The script may either declare a full class or return an actual instance of
the scripted object (in which case the Class of the object will be returned).
In any other case, the returned Class will be null
.
scriptSource
- the script source textnull
if none could be determinedEvalError
- in case of BeanShell parsing failurestatic java.lang.Object evaluateBshScript(java.lang.String scriptSource, java.lang.Class<?>[] scriptInterfaces, java.lang.ClassLoader classLoader) throws EvalError
The script may either be a simple script that needs a corresponding proxy generated (implementing the specified interfaces), or declare a full class or return an actual instance of the scripted object (in which case the specified interfaces, if any, need to be implemented by that class/instance).
scriptSource
- the script source textscriptInterfaces
- the interfaces that the scripted Java object is
supposed to implement (may be null
or empty if the script itself
declares a full class or returns an actual instance of the scripted object)classLoader
- the ClassLoader to use for evaluating the scriptEvalError
- in case of BeanShell parsing failure