public interface

ScriptFactory

org.springframework.scripting.ScriptFactory
Known Indirect Subclasses

Class Overview

Script definition interface, encapsulating the configuration of a specific script as well as a factory method for creating the actual scripted Java Object.

Summary

Public Methods
abstract Class[] getScriptInterfaces()
Return the business interfaces that the script is supposed to implement.
abstract String getScriptSourceLocator()
Return a locator that points to the source of the script.
abstract Object getScriptedObject(ScriptSource scriptSource, Class[] actualInterfaces)
Factory method for creating the scripted Java object.
abstract Class getScriptedObjectType(ScriptSource scriptSource)
Determine the type of the scripted Java object.
abstract boolean requiresConfigInterface()
Return whether the script requires a config interface to be generated for it.
abstract boolean requiresScriptedObjectRefresh(ScriptSource scriptSource)
Determine whether a refresh is required (e.g.

Public Methods

public abstract Class[] getScriptInterfaces ()

Return the business interfaces that the script is supposed to implement.

Can return null if the script itself determines its Java interfaces (such as in the case of Groovy).

Returns
  • the interfaces for the script

public abstract String getScriptSourceLocator ()

Return a locator that points to the source of the script. Interpreted by the post-processor that actually creates the script.

Typical supported locators are Spring resource locations (such as "file:C:/myScript.bsh" or "classpath:myPackage/myScript.bsh") and inline scripts ("inline:myScriptText...").

Returns
  • the script source locator

public abstract Object getScriptedObject (ScriptSource scriptSource, Class[] actualInterfaces)

Factory method for creating the scripted Java object.

Implementations are encouraged to cache script metadata such as a generated script class. Note that this method may be invoked concurrently and must be implemented in a thread-safe fashion.

Parameters
scriptSource the actual ScriptSource to retrieve the script source text from (never null)
actualInterfaces the actual interfaces to expose, including script interfaces as well as a generated config interface (if applicable; may be null)
Returns
  • the scripted Java object
Throws
IOException if script retrieval failed
ScriptCompilationException if script compilation failed

public abstract Class getScriptedObjectType (ScriptSource scriptSource)

Determine the type of the scripted Java object.

Implementations are encouraged to cache script metadata such as a generated script class. Note that this method may be invoked concurrently and must be implemented in a thread-safe fashion.

Parameters
scriptSource the actual ScriptSource to retrieve the script source text from (never null)
Returns
  • the type of the scripted Java object, or null if none could be determined
Throws
IOException if script retrieval failed
ScriptCompilationException if script compilation failed

public abstract boolean requiresConfigInterface ()

Return whether the script requires a config interface to be generated for it. This is typically the case for scripts that do not determine Java signatures themselves, with no appropriate config interface specified in getScriptInterfaces().

Returns
  • whether the script requires a generated config interface

public abstract boolean requiresScriptedObjectRefresh (ScriptSource scriptSource)

Determine whether a refresh is required (e.g. through ScriptSource's isModified() method).

Parameters
scriptSource the actual ScriptSource to retrieve the script source text from (never null)
Returns
See Also