Package org.springframework.scripting
Interface ScriptFactory
- All Known Implementing Classes:
- BshScriptFactory,- GroovyScriptFactory,- StandardScriptFactory
public interface ScriptFactory
Script definition interface, encapsulating the configuration
 of a specific script as well as a factory method for
 creating the actual scripted Java 
Object.- Since:
- 2.0
- Author:
- Juergen Hoeller, Rob Harrop
- See Also:
- 
Method SummaryModifier and TypeMethodDescriptiongetScriptedObject(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<?>[]Return the business interfaces that the script is supposed to implement.Return a locator that points to the source of the script.booleanReturn whether the script requires a config interface to be generated for it.booleanrequiresScriptedObjectRefresh(ScriptSource scriptSource) Determine whether a refresh is required (e.g.
- 
Method Details- 
getScriptSourceLocatorString 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
- See Also:
 
- 
getScriptInterfacesReturn the business interfaces that the script is supposed to implement.Can return nullif the script itself determines its Java interfaces (such as in the case of Groovy).- Returns:
- the interfaces for the script
 
- 
requiresConfigInterfaceboolean 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 ingetScriptInterfaces().- Returns:
- whether the script requires a generated config interface
- See Also:
 
- 
getScriptedObject@Nullable Object getScriptedObject(ScriptSource scriptSource, @Nullable Class<?>... actualInterfaces) throws IOException, ScriptCompilationException 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
 
- 
getScriptedObjectType@Nullable Class<?> getScriptedObjectType(ScriptSource scriptSource) throws IOException, ScriptCompilationException 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 nullif none could be determined
- Throws:
- IOException- if script retrieval failed
- ScriptCompilationException- if script compilation failed
- Since:
- 2.0.3
 
- 
requiresScriptedObjectRefreshDetermine whether a refresh is required (e.g. through ScriptSource'sisModified()method).- Parameters:
- scriptSource- the actual ScriptSource to retrieve the script source text from (never- null)
- Returns:
- whether a fresh getScriptedObject(org.springframework.scripting.ScriptSource, java.lang.Class<?>...)call is required
- Since:
- 2.5.2
- See Also:
 
 
-