Class Resource
- java.lang.Object
-
- org.apache.velocity.runtime.resource.Resource
-
- All Implemented Interfaces:
Cloneable
- Direct Known Subclasses:
ContentResource
,Template
public abstract class Resource extends Object implements Cloneable
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
Fields Modifier and Type Field Description protected Object
data
Resource might require ancillary storage of some kindprotected String
encoding
Character encoding of this resourceprotected long
lastModified
The file modification time (in milliseconds) for the cached template.protected org.slf4j.Logger
log
protected static long
MILLIS_PER_SECOND
The number of milliseconds in a minute, used to calculate the check interval.protected long
modificationCheckInterval
How often the file modification time is checked (in seconds).protected String
name
Name of the resourceprotected long
nextCheck
The next time the file modification time will be checked (in milliseconds).protected ResourceLoader
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.protected RuntimeServices
rsvc
protected int
type
Resource type (RESOURCE_TEMPLATE or RESOURCE_CONTENT)
-
Constructor Summary
Constructors Constructor Description Resource()
Default constructor
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description Object
clone()
protected void
deepCloneData()
Deep cloning of resource dataObject
getData()
Get arbitrary data object that might be used by the resource.String
getEncoding()
get the encoding of this resource for example, "ISO-8859-1"long
getLastModified()
Return the lastModifed time of this resource.String
getName()
Get the name of this template.ResourceLoader
getResourceLoader()
Return the template loader that pulled in the template streamint
getType()
boolean
isSourceModified()
abstract boolean
process()
Perform any subsequent processing that might need to be done by a resource.boolean
requiresChecking()
Is it time to check to see if the resource source has been updated?void
setData(Object data)
Set arbitrary data object that might be used by the resource.void
setEncoding(String encoding)
set the encoding of this resource for example, "ISO-8859-1"void
setLastModified(long lastModified)
Set the last modified time for this resource.void
setModificationCheckInterval(long modificationCheckInterval)
Set the modification check interval.void
setName(String name)
Set the name of this resource, for example test.vm.void
setResourceLoader(ResourceLoader resourceLoader)
Set the template loader for this template.void
setRuntimeServices(RuntimeServices rs)
void
setType(int type)
Sets the type of this Resource (RESOURCE_TEMPLATE or RESOURCE_CONTENT)void
touch()
'Touch' this template and thereby resetting the nextCheck field.
-
-
-
Field Detail
-
rsvc
protected RuntimeServices rsvc
-
log
protected org.slf4j.Logger log
-
resourceLoader
protected ResourceLoader 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_SECOND
The number of milliseconds in a minute, used to calculate the check interval.- See Also:
- Constant Field Values
-
modificationCheckInterval
protected long modificationCheckInterval
How often the file modification time is checked (in seconds).
-
lastModified
protected long lastModified
The file modification time (in milliseconds) for the cached template.
-
nextCheck
protected long nextCheck
The next time the file modification time will be checked (in milliseconds).
-
name
protected String name
Name of the resource
-
encoding
protected String encoding
Character encoding of this resource
-
data
protected Object data
Resource might require ancillary storage of some kind
-
type
protected int type
Resource type (RESOURCE_TEMPLATE or RESOURCE_CONTENT)
-
-
Method Detail
-
setRuntimeServices
public void setRuntimeServices(RuntimeServices rs)
- Parameters:
rs
-
-
process
public abstract boolean process() throws ResourceNotFoundException, ParseErrorException
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
Template
orContentResource
, 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
public void setName(String name)
Set the name of this resource, for example test.vm.- Parameters:
name
-
-
getName
public String getName()
Get the name of this template.- Returns:
- The name of this template.
-
setEncoding
public void setEncoding(String encoding)
set the encoding of this resource for example, "ISO-8859-1"- Parameters:
encoding
-
-
getEncoding
public String 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
public ResourceLoader getResourceLoader()
Return the template loader that pulled in the template stream- Returns:
- The resource loader for this resource.
-
setResourceLoader
public void setResourceLoader(ResourceLoader resourceLoader)
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
public void setData(Object data)
Set arbitrary data object that might be used by the resource.- Parameters:
data
-
-
getData
public Object 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
-
deepCloneData
protected void deepCloneData() throws CloneNotSupportedException
Deep cloning of resource data- Throws:
CloneNotSupportedException
-
-