Package org.apache.velocity.runtime.resource.loader

# Class FileResourceLoader

java.lang.Object
org.apache.velocity.runtime.resource.loader.ResourceLoader
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$
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

Constructors
Constructor
Description
`FileResourceLoader()`

## Method Summary

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 templateName, String encoding)`
Get a Reader so that the Runtime can build a template with it.
`void`
`init(ExtProperties 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

`buildReader, 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 Details

### FileResourceLoader

public FileResourceLoader()

## Method Details

### init

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

Specified by:
  `init` in class `ResourceLoader`
Parameters:
  `configuration` -
See Also:
  - `ResourceLoader.init(org.apache.velocity.util.ExtProperties)`

### getResourceReader

public Reader getResourceReader(String templateName, String encoding) throws ResourceNotFoundException
Get a Reader so that the Runtime can build a template with it.

Specified by:
  `getResourceReader` in class `ResourceLoader`
Parameters:
  `templateName` - name of template to get
  `encoding` -
Returns:
  Reader containing the template
Throws:
  `ResourceNotFoundException` - if template not found in the file template path.
Since:
  2.0

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