Class ClasspathResourceLoader
- java.lang.Object
-
- org.apache.velocity.runtime.resource.loader.ResourceLoader
-
- org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
-
public class ClasspathResourceLoader extends ResourceLoader
ClasspathResourceLoader is a simple loader that will load templates from the classpath.
Will load templates from from multiple instances of and arbitrary combinations of:- jar files
- zip files
- template directories (any directory containing templates)
resource.loaders = class resource.loader.class.class =org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
To use, put your template directories, jars and zip files into the classpath or other mechanisms that make resources accessible to the classloader.
This makes deployment trivial for web applications running in any Servlet 2.2 compliant servlet runner, such as Tomcat 3.2 and others.
For a Servlet Spec v2.2 servlet runner, just drop the jars of template files into the WEB-INF/lib directory of your webapp, and you won't have to worry about setting template paths or altering them with the root of the webapp before initializing.
I have also tried it with a WAR deployment, and that seemed to work just fine.- Version:
- $Id$
- Author:
- Aki Nieminen, Geir Magnusson Jr.
-
-
Field Summary
-
Fields inherited from class org.apache.velocity.runtime.resource.loader.ResourceLoader
className, isCachingOn, log, modificationCheckInterval, rsvc
-
-
Constructor Summary
Constructors Constructor Description ClasspathResourceLoader()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description long
getLastModified(Resource resource)
Get the last modified time of the InputStream source that was used to create the template.Reader
getResourceReader(String name, String encoding)
Get a Reader so that the Runtime can build a template with it.void
init(ExtProperties configuration)
This is abstract in the base class, so we need itboolean
isSourceModified(Resource resource)
Given a template, check to see if the source of InputStream has been modified.-
Methods inherited from class org.apache.velocity.runtime.resource.loader.ResourceLoader
buildReader, commonInit, getClassName, getModificationCheckInterval, isCachingOn, resourceExists, setCachingOn, setModificationCheckInterval
-
-
-
-
Method Detail
-
init
public void init(ExtProperties configuration)
This is abstract in the base class, so we need it- Specified by:
init
in classResourceLoader
- Parameters:
configuration
-
-
getResourceReader
public Reader getResourceReader(String name, String encoding) throws ResourceNotFoundException
Get a Reader so that the Runtime can build a template with it.- Specified by:
getResourceReader
in classResourceLoader
- Parameters:
name
- name of template to getencoding
- asked encoding- Returns:
- InputStream containing the template
- Throws:
ResourceNotFoundException
- if template not found in classpath.- Since:
- 2.0
-
isSourceModified
public boolean isSourceModified(Resource resource)
Description copied from class:ResourceLoader
Given a template, check to see if the source of InputStream has been modified.- Specified by:
isSourceModified
in classResourceLoader
- Returns:
- True if the resource has been modified.
- See Also:
ResourceLoader.isSourceModified(org.apache.velocity.runtime.resource.Resource)
-
getLastModified
public long getLastModified(Resource resource)
Description copied from class:ResourceLoader
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.- Specified by:
getLastModified
in classResourceLoader
- Returns:
- Time in millis when the resource has been modified.
- See Also:
ResourceLoader.getLastModified(org.apache.velocity.runtime.resource.Resource)
-
-