Package org.apache.velocity.spring

# Class SpringResourceLoader

java.lang.Object
org.apache.velocity.runtime.resource.loader.ResourceLoader
org.apache.velocity.spring.SpringResourceLoader

public class SpringResourceLoader extends ResourceLoader
Velocity ResourceLoader adapter that loads via a Spring ResourceLoader. Used by VelocityEngineFactory for any resource loader path that cannot be resolved to a `java.io.File`.

Note that this loader does not allow for modification detection: Use Velocity's default FileResourceLoader for `java.io.File` resources.

Expects "spring.resource.loader" and "spring.resource.loader.path" application attributes in the Velocity runtime: the former of type `org.springframework.core.io.ResourceLoader`, the latter a String.

Since:
  2020-05-29
Author:
  Juergen Hoeller, Claude Brisson
See Also:
  - `VelocityEngineFactory.setResourceLoaderPath(java.lang.String)`
  - `ResourceLoader`
  - `FileResourceLoader`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected final org.slf4j.Logger`
`logger`
`static final String`
`NAME`
`static final String`
`SPRING_RESOURCE_LOADER`
`static final String`
`SPRING_RESOURCE_LOADER_CACHE`
`static final String`
`SPRING_RESOURCE_LOADER_CLASS`
`static final String`
`SPRING_RESOURCE_LOADER_PATH`

### Fields inherited from class org.apache.velocity.runtime.resource.loader.ResourceLoader

`className, isCachingOn, log, modificationCheckInterval, rsvc`

## Constructor Summary

Constructors
Constructor
Description
`SpringResourceLoader()`

## Method Summary

Modifier and Type
Method
Description
`long`
`getLastModified(Resource resource)`
`Reader`
`getResourceReader(String source, String encoding)`
Get the Reader that the Runtime will parse to create a template.
`void`
`init(ExtProperties configuration)`
`boolean`
`isSourceModified(Resource resource)`

### Methods inherited from class org.apache.velocity.runtime.resource.loader.ResourceLoader

`buildReader, commonInit, getClassName, getModificationCheckInterval, isCachingOn, resourceExists, setCachingOn, setModificationCheckInterval`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### NAME

public static final String NAME

See Also:
  - Constant Field Values

### SPRING_RESOURCE_LOADER_CLASS

public static final String SPRING_RESOURCE_LOADER_CLASS

See Also:
  - Constant Field Values

### SPRING_RESOURCE_LOADER_CACHE

public static final String SPRING_RESOURCE_LOADER_CACHE

See Also:
  - Constant Field Values

### SPRING_RESOURCE_LOADER

public static final String SPRING_RESOURCE_LOADER

See Also:
  - Constant Field Values

### SPRING_RESOURCE_LOADER_PATH

public static final String SPRING_RESOURCE_LOADER_PATH

See Also:
  - Constant Field Values

### logger

protected final org.slf4j.Logger logger

## Constructor Details

### SpringResourceLoader

public SpringResourceLoader()

## Method Details

### init

public void init(ExtProperties configuration)

Specified by:
  `init` in class `ResourceLoader`

### getResourceReader

public Reader getResourceReader(String source, String encoding) throws ResourceNotFoundException
Get the Reader that the Runtime will parse to create a template.

Specified by:
  `getResourceReader` in class `ResourceLoader`
Parameters:
  `source` - resource name
  `encoding` - resource encoding
Returns:
  The reader for the requested resource.
Throws:
  `ResourceNotFoundException`
Since:
  2.0

### isSourceModified

public boolean isSourceModified(Resource resource)

Specified by:
  `isSourceModified` in class `ResourceLoader`

### getLastModified

public long getLastModified(Resource resource)

Specified by:
  `getLastModified` in class `ResourceLoader`