org.springframework.ui.freemarker

## Class SpringTemplateLoader

- java.lang.Object
- - org.springframework.ui.freemarker.SpringTemplateLoader

All Implemented Interfaces:
  freemarker.cache.TemplateLoader

    public class SpringTemplateLoader
    extends Object
    implements freemarker.cache.TemplateLoader

FreeMarker TemplateLoader adapter that loads via a Spring ResourceLoader. Used by FreeMarkerConfigurationFactory for any resource loader path that cannot be resolved to a java.io.File.

Since:
  14.03.2004
Author:
  Juergen Hoeller
See Also:
  `FreeMarkerConfigurationFactory.setTemplateLoaderPath(java.lang.String)`, `Configuration.setDirectoryForTemplateLoading(java.io.File)`

### Field Summary

Fields
`protected Log` `logger`

### Constructor Summary

Constructors
Constructor and Description
`SpringTemplateLoader(ResourceLoader resourceLoader, String templateLoaderPath)` Create a new SpringTemplateLoader.

### Method Summary

Methods
`void` `closeTemplateSource(Object templateSource)`
`Object` `findTemplateSource(String name)`
`long` `getLastModified(Object templateSource)`
`Reader` `getReader(Object templateSource, String encoding)`

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

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

### Field Detail

#### logger

    protected final Log logger

### Constructor Detail

#### SpringTemplateLoader

    public SpringTemplateLoader(ResourceLoader resourceLoader,
                        String templateLoaderPath)

Create a new SpringTemplateLoader.

Parameters:
  `resourceLoader` - the Spring ResourceLoader to use
  `templateLoaderPath` - the template loader path to use

### Method Detail

#### findTemplateSource

    public Object findTemplateSource(String name)
                              throws IOException

Specified by:
  `findTemplateSource` in interface `freemarker.cache.TemplateLoader`
Throws:
  `IOException`

#### getReader

    public Reader getReader(Object templateSource,
                   String encoding)
                     throws IOException

Specified by:
  `getReader` in interface `freemarker.cache.TemplateLoader`
Throws:
  `IOException`

#### getLastModified

    public long getLastModified(Object templateSource)

Specified by:
  `getLastModified` in interface `freemarker.cache.TemplateLoader`

#### closeTemplateSource

    public void closeTemplateSource(Object templateSource)
                             throws IOException

Specified by:
  `closeTemplateSource` in interface `freemarker.cache.TemplateLoader`
Throws:
  `IOException`