Package 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
Modifier and Type
Class
Description
`static final class`
`BshScriptUtils.BshExecutionException`
Exception to be thrown on script execution failure.

## Constructor Summary

Constructors
Constructor
Description
`BshScriptUtils()`

## Method Summary

Modifier and Type
Method
Description
`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 Details

### BshScriptUtils

public BshScriptUtils()

## Method Details

### 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, @Nullable 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, @Nullable Class<?>[] scriptInterfaces, @Nullable 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 use for evaluating the script
Returns:
  the scripted Java object
Throws:
  `bsh.EvalError` - in case of BeanShell parsing failure