Class Resource
java.lang.Object
org.apache.velocity.runtime.resource.Resource
- All Implemented Interfaces:
Cloneable
- Direct Known Subclasses:
ContentResource,Template
This class represent a general text resource that
may have been retrieved from any number of possible
sources.
- Version:
- $Id$
- Author:
- Jason van Zyl, Geir Magnusson Jr.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ObjectResource might require ancillary storage of some kindprotected StringCharacter encoding of this resourceprotected longThe file modification time (in milliseconds) for the cached template.protected org.slf4j.Loggerprotected static final longThe number of milliseconds in a minute, used to calculate the check interval.protected longHow often the file modification time is checked (in seconds).protected StringName of the resourceprotected longThe next time the file modification time will be checked (in milliseconds).protected ResourceLoaderThe template loader that initially loaded the input stream for this template, and knows how to check the source of the input stream for modification.protected RuntimeServicesprotected intResource type (RESOURCE_TEMPLATE or RESOURCE_CONTENT) -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionclone()protected voidDeep cloning of resource datagetData()Get arbitrary data object that might be used by the resource.get the encoding of this resource for example, "ISO-8859-1"longReturn the lastModifed time of this resource.getName()Get the name of this template.Return the template loader that pulled in the template streamintgetType()booleanabstract booleanprocess()Perform any subsequent processing that might need to be done by a resource.booleanIs it time to check to see if the resource source has been updated?voidSet arbitrary data object that might be used by the resource.voidsetEncoding(String encoding) set the encoding of this resource for example, "ISO-8859-1"voidsetLastModified(long lastModified) Set the last modified time for this resource.voidsetModificationCheckInterval(long modificationCheckInterval) Set the modification check interval.voidSet the name of this resource, for example test.vm.voidsetResourceLoader(ResourceLoader resourceLoader) Set the template loader for this template.voidvoidsetType(int type) Sets the type of this Resource (RESOURCE_TEMPLATE or RESOURCE_CONTENT)voidtouch()'Touch' this template and thereby resetting the nextCheck field.
-
Field Details
-
rsvc
-
log
protected org.slf4j.Logger log -
resourceLoader
The template loader that initially loaded the input stream for this template, and knows how to check the source of the input stream for modification. -
MILLIS_PER_SECOND
protected static final long MILLIS_PER_SECONDThe number of milliseconds in a minute, used to calculate the check interval.- See Also:
-
modificationCheckInterval
protected long modificationCheckIntervalHow often the file modification time is checked (in seconds). -
lastModified
protected long lastModifiedThe file modification time (in milliseconds) for the cached template. -
nextCheck
protected long nextCheckThe next time the file modification time will be checked (in milliseconds). -
name
Name of the resource -
encoding
Character encoding of this resource -
data
Resource might require ancillary storage of some kind -
type
protected int typeResource type (RESOURCE_TEMPLATE or RESOURCE_CONTENT)
-
-
Constructor Details
-
Resource
public Resource()Default constructor
-
-
Method Details
-
setRuntimeServices
- Parameters:
rs-
-
process
Perform any subsequent processing that might need to be done by a resource. In the case of a template the actual parsing of the input stream needs to be performed.- Returns:
- Whether the resource could be processed successfully.
For a
TemplateorContentResource, this indicates whether the resource could be read. - Throws:
ResourceNotFoundException- Similar in semantics as returningfalse.ParseErrorException
-
isSourceModified
public boolean isSourceModified()- Returns:
- True if source has been modified.
-
setModificationCheckInterval
public void setModificationCheckInterval(long modificationCheckInterval) Set the modification check interval.- Parameters:
modificationCheckInterval- The interval (in seconds).
-
requiresChecking
public boolean requiresChecking()Is it time to check to see if the resource source has been updated?- Returns:
- True if resource must be checked.
-
touch
public void touch()'Touch' this template and thereby resetting the nextCheck field. -
setName
Set the name of this resource, for example test.vm.- Parameters:
name-
-
getName
Get the name of this template.- Returns:
- The name of this template.
-
setEncoding
set the encoding of this resource for example, "ISO-8859-1"- Parameters:
encoding-
-
getEncoding
get the encoding of this resource for example, "ISO-8859-1"- Returns:
- The encoding of this resource.
-
getLastModified
public long getLastModified()Return the lastModifed time of this resource.- Returns:
- The lastModifed time of this resource.
-
setLastModified
public void setLastModified(long lastModified) Set the last modified time for this resource.- Parameters:
lastModified-
-
getResourceLoader
Return the template loader that pulled in the template stream- Returns:
- The resource loader for this resource.
-
setResourceLoader
Set the template loader for this template. Set when the Runtime determines where this template came from the list of possible sources.- Parameters:
resourceLoader-
-
setData
Set arbitrary data object that might be used by the resource.- Parameters:
data-
-
getData
Get arbitrary data object that might be used by the resource.- Returns:
- The data object for this resource.
-
setType
public void setType(int type) Sets the type of this Resource (RESOURCE_TEMPLATE or RESOURCE_CONTENT)- Parameters:
type- RESOURCE_TEMPLATE or RESOURCE_CONTENT- Since:
- 1.6
-
getType
public int getType()- Returns:
- type code of the Resource
- Since:
- 1.6
-
clone
-
deepCloneData
Deep cloning of resource data- Throws:
CloneNotSupportedException
-