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:
-
InputStreamSource.getInputStream()Resource.getFile()ResourceLoader
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final org.apache.commons.logging.LogLogger available to subclasses. -
Constructor Summary
ConstructorsConstructorDescriptionResourceScriptSource(org.springframework.core.io.Resource resource) Create a new ResourceScriptSource for the given resource.ResourceScriptSource(org.springframework.core.io.support.EncodedResource resource) Create a new ResourceScriptSource for the given resource. -
Method Summary
Modifier and TypeMethodDescriptionfinal org.springframework.core.io.ResourceReturn theResourceto load the script from.Retrieve the current script source text as String.booleanIndicate whether the underlying script data has been modified since the last timeScriptSource.getScriptAsString()was called.protected longRetrieve the current last-modified timestamp of the underlying resource.voidsetEncoding(String encoding) Set the encoding used for reading the script resource.Determine a class name for the underlying script.toString()
-
Field Details
-
logger
protected final org.apache.commons.logging.Log loggerLogger available to subclasses.
-
-
Constructor Details
-
ResourceScriptSource
public ResourceScriptSource(org.springframework.core.io.support.EncodedResource resource) Create a new ResourceScriptSource for the given resource.- Parameters:
resource- the EncodedResource to load the script from
-
ResourceScriptSource
public ResourceScriptSource(org.springframework.core.io.Resource resource) Create a new ResourceScriptSource for the given resource.- Parameters:
resource- the Resource to load the script from (using UTF-8 encoding)
-
-
Method Details
-
getResource
public final org.springframework.core.io.Resource getResource()Return theResourceto load the script from. -
setEncoding
Set the encoding used for reading the script resource.The default value for regular Resources is "UTF-8". A
nullvalue implies the platform default. -
getScriptAsString
Description copied from interface:ScriptSourceRetrieve the current script source text as String.- Specified by:
getScriptAsStringin interfaceScriptSource- Returns:
- the script text
- Throws:
IOException- if script retrieval failed
-
isModified
public boolean isModified()Description copied from interface:ScriptSourceIndicate whether the underlying script data has been modified since the last timeScriptSource.getScriptAsString()was called. Returnstrueif the script has not been read yet.- Specified by:
isModifiedin 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:ScriptSourceDetermine a class name for the underlying script.- Specified by:
suggestedClassNamein interfaceScriptSource- Returns:
- the suggested class name, or
nullif none available
-
toString
-