## 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
`static class` `BshScriptUtils.BshExecutionException` Exception to be thrown on script execution failure.

Constructor Summary
`BshScriptUtils()`

Method Summary
`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