public interface ScriptFactory
Object.getScriptSourceLocator(),
getScriptedObject(org.springframework.scripting.ScriptSource, java.lang.Class<?>...)| Modifier and Type | Method and Description |
|---|---|
Object |
getScriptedObject(ScriptSource scriptSource,
Class<?>... actualInterfaces)
Factory method for creating the scripted Java object.
|
Class<?> |
getScriptedObjectType(ScriptSource scriptSource)
Determine the type of the scripted Java object.
|
Class<?>[] |
getScriptInterfaces()
Return the business interfaces that the script is supposed to implement.
|
String |
getScriptSourceLocator()
Return a locator that points to the source of the script.
|
boolean |
requiresConfigInterface()
Return whether the script requires a config interface to be
generated for it.
|
boolean |
requiresScriptedObjectRefresh(ScriptSource scriptSource)
Determine whether a refresh is required (e.g.
|
String getScriptSourceLocator()
Typical supported locators are Spring resource locations (such as "file:C:/myScript.bsh" or "classpath:myPackage/myScript.bsh") and inline scripts ("inline:myScriptText...").
ScriptFactoryPostProcessor.convertToScriptSource(java.lang.String, java.lang.String, org.springframework.core.io.ResourceLoader),
ResourceLoaderClass<?>[] getScriptInterfaces()
Can return null if the script itself determines
its Java interfaces (such as in the case of Groovy).
boolean requiresConfigInterface()
getScriptInterfaces().getScriptInterfaces()Object getScriptedObject(ScriptSource scriptSource, Class<?>... actualInterfaces) throws IOException, ScriptCompilationException
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.
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)IOException - if script retrieval failedScriptCompilationException - if script compilation failedClass<?> getScriptedObjectType(ScriptSource scriptSource) throws IOException, ScriptCompilationException
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.
scriptSource - the actual ScriptSource to retrieve
the script source text from (never null)null
if none could be determinedIOException - if script retrieval failedScriptCompilationException - if script compilation failedboolean requiresScriptedObjectRefresh(ScriptSource scriptSource)
isModified() method).scriptSource - the actual ScriptSource to retrieve
the script source text from (never null)getScriptedObject(org.springframework.scripting.ScriptSource, java.lang.Class<?>...) call is requiredScriptSource.isModified()