org.apache.velocity.runtime.resource.loader
Class ResourceLoader

java.lang.Object
  extended by org.apache.velocity.runtime.resource.loader.ResourceLoader
Direct Known Subclasses:
ClasspathResourceLoader, DataSourceResourceLoader, FileResourceLoader, JarResourceLoader, StringResourceLoader, URLResourceLoader

public abstract class ResourceLoader
extends Object

This is abstract class the all text resource loaders should extend.

Version:
$Id: ResourceLoader.java 687518 2008-08-21 00:18:03Z nbubna $
Author:
Jason van Zyl, Geir Magnusson Jr.

Field Summary
protected  String className
          Class name for this loader, for logging/debuggin purposes.
protected  boolean isCachingOn
          Does this loader want templates produced with it cached in the Runtime.
protected  Log log
           
protected  long modificationCheckInterval
          This property will be passed on to the templates that are created with this loader.
protected  RuntimeServices rsvc
           
 
Constructor Summary
ResourceLoader()
           
 
Method Summary
 void commonInit(RuntimeServices rs, ExtendedProperties configuration)
          This initialization is used by all resource loaders and must be called to set up common properties shared by all resource loaders
 String getClassName()
          Return the class name of this resource Loader
abstract  long getLastModified(Resource resource)
          Get the last modified time of the InputStream source that was used to create the template.
 long getModificationCheckInterval()
          Get the interval at which the InputStream source should be checked for modifications.
abstract  InputStream getResourceStream(String source)
          Get the InputStream that the Runtime will parse to create a template.
abstract  void init(ExtendedProperties configuration)
          Initialize the template loader with a a resources class.
 boolean isCachingOn()
          The Runtime uses this to find out whether this template loader wants the Runtime to cache templates created with InputStreams provided by this loader.
abstract  boolean isSourceModified(Resource resource)
          Given a template, check to see if the source of InputStream has been modified.
 boolean resourceExists(String resourceName)
          Check whether any given resource exists.
 void setCachingOn(boolean value)
          Set the caching state.
 void setModificationCheckInterval(long modificationCheckInterval)
          Set the interval at which the InputStream source should be checked for modifications.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

isCachingOn

protected boolean isCachingOn
Does this loader want templates produced with it cached in the Runtime.


modificationCheckInterval

protected long modificationCheckInterval
This property will be passed on to the templates that are created with this loader.


className

protected String className
Class name for this loader, for logging/debuggin purposes.


rsvc

protected RuntimeServices rsvc

log

protected Log log
Constructor Detail

ResourceLoader

public ResourceLoader()
Method Detail

commonInit

public void commonInit(RuntimeServices rs,
                       ExtendedProperties configuration)
This initialization is used by all resource loaders and must be called to set up common properties shared by all resource loaders

Parameters:
rs -
configuration -

init

public abstract void init(ExtendedProperties configuration)
Initialize the template loader with a a resources class.

Parameters:
configuration -

getResourceStream

public abstract InputStream getResourceStream(String source)
                                       throws ResourceNotFoundException
Get the InputStream that the Runtime will parse to create a template.

Parameters:
source -
Returns:
The input stream for the requested resource.
Throws:
ResourceNotFoundException

isSourceModified

public abstract boolean isSourceModified(Resource resource)
Given a template, check to see if the source of InputStream has been modified.

Parameters:
resource -
Returns:
True if the resource has been modified.

getLastModified

public abstract long getLastModified(Resource resource)
Get the last modified time of the InputStream source that was used to create the template. We need the template here because we have to extract the name of the template in order to locate the InputStream source.

Parameters:
resource -
Returns:
Time in millis when the resource has been modified.

getClassName

public String getClassName()
Return the class name of this resource Loader

Returns:
Class name of the resource loader.

setCachingOn

public void setCachingOn(boolean value)
Set the caching state. If true, then this loader would like the Runtime to cache templates that have been created with InputStreams provided by this loader.

Parameters:
value -

isCachingOn

public boolean isCachingOn()
The Runtime uses this to find out whether this template loader wants the Runtime to cache templates created with InputStreams provided by this loader.

Returns:
True if this resource loader caches.

setModificationCheckInterval

public void setModificationCheckInterval(long modificationCheckInterval)
Set the interval at which the InputStream source should be checked for modifications.

Parameters:
modificationCheckInterval -

getModificationCheckInterval

public long getModificationCheckInterval()
Get the interval at which the InputStream source should be checked for modifications.

Returns:
The modification check interval.

resourceExists

public boolean resourceExists(String resourceName)
Check whether any given resource exists. This is not really a very efficient test and it can and should be overridden in the subclasses extending ResourceLoader.

Parameters:
resourceName - The name of a resource.
Returns:
true if a resource exists and can be accessed.
Since:
1.6


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