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

java.lang.Object
  extended by org.apache.velocity.runtime.resource.loader.ResourceLoader
      extended by org.apache.velocity.runtime.resource.loader.FileResourceLoader

public class FileResourceLoader
extends ResourceLoader

A loader for templates stored on the file system. Treats the template as relative to the configured root path. If the root path is empty treats the template name as an absolute path.

Version:
$Id: FileResourceLoader.java 687518 2008-08-21 00:18:03Z nbubna $
Author:
Will Glass-Husain, Aki Nieminen, Jason van Zyl

Field Summary
 
Fields inherited from class org.apache.velocity.runtime.resource.loader.ResourceLoader
className, isCachingOn, log, modificationCheckInterval, rsvc
 
Constructor Summary
FileResourceLoader()
           
 
Method Summary
 long getLastModified(Resource resource)
          Get the last modified time of the InputStream source that was used to create the template.
 InputStream getResourceStream(String templateName)
          Get an InputStream so that the Runtime can build a template with it.
 void init(ExtendedProperties configuration)
          Initialize the template loader with a a resources class.
 boolean isSourceModified(Resource resource)
          How to keep track of all the modified times across the paths.
 boolean resourceExists(String name)
          Overrides superclass for better performance.
 
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
 

Constructor Detail

FileResourceLoader

public FileResourceLoader()
Method Detail

init

public void init(ExtendedProperties configuration)
Description copied from class: ResourceLoader
Initialize the template loader with a a resources class.

Specified by:
init in class ResourceLoader
See Also:
ResourceLoader.init(org.apache.commons.collections.ExtendedProperties)

getResourceStream

public InputStream getResourceStream(String templateName)
                              throws ResourceNotFoundException
Get an InputStream so that the Runtime can build a template with it.

Specified by:
getResourceStream in class ResourceLoader
Parameters:
templateName - name of template to get
Returns:
InputStream containing the template
Throws:
ResourceNotFoundException - if template not found in the file template path.

resourceExists

public boolean resourceExists(String name)
Overrides superclass for better performance.

Overrides:
resourceExists in class ResourceLoader
Parameters:
name - The name of a resource.
Returns:
true if a resource exists and can be accessed.
Since:
1.6

isSourceModified

public boolean isSourceModified(Resource resource)
How to keep track of all the modified times across the paths. Note that a file might have appeared in a directory which is earlier in the path; so we should search the path and see if the file we find that way is the same as the one that we have cached.

Specified by:
isSourceModified in class ResourceLoader
Parameters:
resource -
Returns:
True if the source has been modified.

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 class ResourceLoader
Returns:
Time in millis when the resource has been modified.
See Also:
ResourceLoader.getLastModified(org.apache.velocity.runtime.resource.Resource)


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