org.springframework.scripting.bsh

## Class BshScriptUtils

- java.lang.Object
- - org.springframework.scripting.bsh.BshScriptUtils

    public abstract class BshScriptUtils
    extends Object

Utility methods for handling BeanShell-scripted objects.

Since:
  2.0
Author:
  Rob Harrop, Juergen Hoeller

### Nested Class Summary

Nested Classes
`static class` `BshScriptUtils.BshExecutionException` Exception to be thrown on script execution failure.

### Constructor Summary

Constructors
Constructor and Description
`BshScriptUtils()`

### Method Summary

Methods
`static Object` `createBshObject(String scriptSource)` Create a new BeanShell-scripted object from the given script source.
`static Object` `createBshObject(String scriptSource, Class[] scriptInterfaces)` Create a new BeanShell-scripted object from the given script source, using the default ClassLoader.
`static Object` `createBshObject(String scriptSource, Class[] scriptInterfaces, ClassLoader classLoader)` Create a new BeanShell-scripted object from the given script source.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### BshScriptUtils

    public BshScriptUtils()

### Method Detail

#### createBshObject

    public static Object createBshObject(String scriptSource)
                                  throws bsh.EvalError

Create a new BeanShell-scripted object from the given script source.

With this `createBshObject` variant, the script needs to declare a full class or return an actual instance of the scripted object.

Parameters:
  `scriptSource` - the script source text
Returns:
  the scripted Java object
Throws:
  `bsh.EvalError` - in case of BeanShell parsing failure

#### createBshObject

    public static Object createBshObject(String scriptSource,
                         Class[] scriptInterfaces)
                                  throws bsh.EvalError

Create a new BeanShell-scripted object from the given script source, using the default ClassLoader.

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).

Parameters:
  `scriptSource` - the script source text
  `scriptInterfaces` - 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)
Returns:
  the scripted Java object
Throws:
  `bsh.EvalError` - in case of BeanShell parsing failure
See Also:
  `createBshObject(String, Class[], ClassLoader)`

#### createBshObject

    public static Object createBshObject(String scriptSource,
                         Class[] scriptInterfaces,
                         ClassLoader classLoader)
                                  throws bsh.EvalError

Create a new BeanShell-scripted object from the given script source.

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).

Parameters:
  `scriptSource` - the script source text
  `scriptInterfaces` - 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 create the script proxy with
Returns:
  the scripted Java object
Throws:
  `bsh.EvalError` - in case of BeanShell parsing failure