org.apache.velocity.tools.view.servlet
Class WebappLoader

java.lang.Object
  |
  +--org.apache.velocity.runtime.resource.loader.ResourceLoader
        |
        +--org.apache.velocity.tools.view.servlet.WebappLoader

public class WebappLoader
extends org.apache.velocity.runtime.resource.loader.ResourceLoader

Resource loader that uses the ServletContext of a webapp to load Velocity templates. (it's much easier to use with servlets than the standard FileResourceLoader, in particular the use of war files is transparent). The default search path is '/' (relative to the webapp root), but you can change this behaviour by specifying one or more paths by mean of as many webapp.resource.loader.path properties as needed in the velocity.properties file. All paths must be relative to the root of the webapp.

Version:
$Id: WebappLoader.java,v 1.6 2003/07/04 18:28:25 nbubna Exp $
Author:
Geir Magnusson Jr., Nathan Bubna, Claude Brisson

Field Summary
protected  java.lang.String[] paths
          The root paths for templates (relative to webapp's root).
protected  javax.servlet.ServletContext servletContext
           
 
Fields inherited from class org.apache.velocity.runtime.resource.loader.ResourceLoader
className, isCachingOn, modificationCheckInterval, rsvc
 
Constructor Summary
WebappLoader()
           
 
Method Summary
 long getLastModified(org.apache.velocity.runtime.resource.Resource resource)
          Defaults to return 0
 java.io.InputStream getResourceStream(java.lang.String name)
          Get an InputStream so that the Runtime can build a template with it.
 void init(org.apache.commons.collections.ExtendedProperties configuration)
          This is abstract in the base class, so we need it.
 boolean isSourceModified(org.apache.velocity.runtime.resource.Resource resource)
          Defaults to return false.
 
Methods inherited from class org.apache.velocity.runtime.resource.loader.ResourceLoader
commonInit, getClassName, getModificationCheckInterval, isCachingOn, setCachingOn, setModificationCheckInterval
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

paths

protected java.lang.String[] paths
The root paths for templates (relative to webapp's root).


servletContext

protected javax.servlet.ServletContext servletContext
Constructor Detail

WebappLoader

public WebappLoader()
Method Detail

init

public void init(org.apache.commons.collections.ExtendedProperties configuration)
This is abstract in the base class, so we need it.
NOTE: this expects that the ServletContext has already been placed in the runtime's application attributes under its full class name (i.e. "javax.servlet.ServletContext").

Specified by:
init in class org.apache.velocity.runtime.resource.loader.ResourceLoader
Parameters:
configuration - the ExtendedProperties associated with this resource loader.

getResourceStream

public java.io.InputStream getResourceStream(java.lang.String name)
                                      throws org.apache.velocity.exception.ResourceNotFoundException
Get an InputStream so that the Runtime can build a template with it.

Specified by:
getResourceStream in class org.apache.velocity.runtime.resource.loader.ResourceLoader
Parameters:
name - name of template to get
Returns:
InputStream containing the template
Throws:
org.apache.velocity.exception.ResourceNotFoundException - if template not found in classpath.

isSourceModified

public boolean isSourceModified(org.apache.velocity.runtime.resource.Resource resource)
Defaults to return false.

Specified by:
isSourceModified in class org.apache.velocity.runtime.resource.loader.ResourceLoader

getLastModified

public long getLastModified(org.apache.velocity.runtime.resource.Resource resource)
Defaults to return 0

Specified by:
getLastModified in class org.apache.velocity.runtime.resource.loader.ResourceLoader


Copyright (c) 2003 Apache Software Foundation