Class ResourceScriptSource
java.lang.Object
org.springframework.scripting.support.ResourceScriptSource
- All Implemented Interfaces:
ScriptSource
ScriptSource
implementation
based on Spring's Resource
abstraction. Loads the script text from the underlying Resource's
File
or
InputStream
,
and tracks the last-modified timestamp of the file (if possible).- Since:
- 2.0
- Author:
- Rob Harrop, Juergen Hoeller
- See Also:
-
Field Summary
-
Constructor Summary
ConstructorDescriptionResourceScriptSource
(Resource resource) Create a new ResourceScriptSource for the given resource.ResourceScriptSource
(EncodedResource resource) Create a new ResourceScriptSource for the given resource. -
Method Summary
Modifier and TypeMethodDescriptionfinal Resource
Return theResource
to load the script from.Retrieve the current script source text as String.boolean
Indicate whether the underlying script data has been modified since the last timeScriptSource.getScriptAsString()
was called.protected long
Retrieve the current last-modified timestamp of the underlying resource.void
setEncoding
(String encoding) Set the encoding used for reading the script resource.Determine a class name for the underlying script.toString()
-
Field Details
-
logger
Logger available to subclasses.
-
-
Constructor Details
-
ResourceScriptSource
Create a new ResourceScriptSource for the given resource.- Parameters:
resource
- the EncodedResource to load the script from
-
ResourceScriptSource
Create a new ResourceScriptSource for the given resource.- Parameters:
resource
- the Resource to load the script from (using UTF-8 encoding)
-
-
Method Details
-
getResource
Return theResource
to load the script from. -
setEncoding
Set the encoding used for reading the script resource.The default value for regular Resources is "UTF-8". A
null
value implies the platform default. -
getScriptAsString
Description copied from interface:ScriptSource
Retrieve the current script source text as String.- Specified by:
getScriptAsString
in interfaceScriptSource
- Returns:
- the script text
- Throws:
IOException
- if script retrieval failed
-
isModified
public boolean isModified()Description copied from interface:ScriptSource
Indicate whether the underlying script data has been modified since the last timeScriptSource.getScriptAsString()
was called. Returnstrue
if the script has not been read yet.- Specified by:
isModified
in interfaceScriptSource
- Returns:
- whether the script data has been modified
-
retrieveLastModifiedTime
protected long retrieveLastModifiedTime()Retrieve the current last-modified timestamp of the underlying resource.- Returns:
- the current timestamp, or 0 if not determinable
-
suggestedClassName
Description copied from interface:ScriptSource
Determine a class name for the underlying script.- Specified by:
suggestedClassName
in interfaceScriptSource
- Returns:
- the suggested class name, or
null
if none available
-
toString
-