org.apache.velocity.runtime.resource
Class Resource

java.lang.Object
  extended by org.apache.velocity.runtime.resource.Resource
Direct Known Subclasses:
ContentResource, Template

public abstract class Resource
extends Object

This class represent a general text resource that may have been retrieved from any number of possible sources.

Version:
$Id: Resource.java 729843 2008-12-29 09:06:57Z byron $
Author:
Jason van Zyl, Geir Magnusson Jr.

Field Summary
protected  Object data
          Resource might require ancillary storage of some kind
protected  String encoding
          Character encoding of this resource
protected  long lastModified
          The file modification time (in milliseconds) for the cached template.
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 resource
protected  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
Resource()
          Default constructor
 
Method Summary
 Object 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 stream
 int 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

rsvc

protected RuntimeServices rsvc

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)

Constructor Detail

Resource

public Resource()
Default constructor

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 or ContentResource, this indicates whether the resource could be read.
Throws:
ResourceNotFoundException - Similar in semantics as returning false.
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)

Since:
1.6

getType

public int getType()
Returns:
type code of the Resource
Since:
1.6


Copyright © 2000-2010 The Apache Software Foundation. All Rights Reserved.