Package: groovy.text.markup

## [Java] Class MarkupTemplateEngine.CachingTemplateResolver

- groovy.text.markup.MarkupTemplateEngine.CachingTemplateResolver

-     public static class MarkupTemplateEngine.CachingTemplateResolver
      extends MarkupTemplateEngine.DefaultTemplateResolver

  A template resolver which avoids calling ClassLoader.getResource if a template path already has been queried before. This improves performance if caching is enabled in the configuration.

- - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `protected Map<String, URL>` | `cache` | Backing cache keyed by logical template path.
    `protected boolean` | `useCache` | Indicates whether this resolver should consult and populate its cache.

  - ### Constructor Summary

    Constructors
    Constructor and description
    `CachingTemplateResolver(Map<String, URL> cache)` Creates a new caching template resolver.
    `CachingTemplateResolver()` Creates a new caching template resolver using a concurrent hash map as the backing cache.

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `public void` | `configure(ClassLoader templateClassLoader, TemplateConfiguration configuration)` * * This method is called once the template engine is initialized, providing the resolver with the * template engine configuration and its template class loader. * Parameters: `templateClassLoader` - the classloader where templates will be searched for * `configuration` - the configuration of the template engine
    `` | `public URL` | `resolveTemplate(String templatePath)` * * Resolvers must implement this method in order to resolve a template, given a template path. They * must return a valid URL or an IOException. * throws: IOException Parameters: `templatePath` - path to the template * Returns: the template URL, that will be used to load the template *

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class MarkupTemplateEngine.DefaultTemplateResolver` | `configure, resolveTemplate`

- - ### Field Detail

    - #### protected final Map<String, URL> cache

      Backing cache keyed by logical template path.

    - #### protected boolean useCache

      Indicates whether this resolver should consult and populate its cache.

  - ### Constructor Detail

    - #### public CachingTemplateResolver(Map<String, URL> cache)

      Creates a new caching template resolver. The cache implementation being used depends on the use of the template engine. If multiple templates can be rendered in parallel, it must be using a thread-safe cache.

      Parameters:
        `cache` - the backing cache

    - #### public CachingTemplateResolver()

      Creates a new caching template resolver using a concurrent hash map as the backing cache.

  - ### Method Detail

    - #### public void configure(ClassLoader templateClassLoader, TemplateConfiguration configuration)

      * * This method is called once the template engine is initialized, providing the resolver with the * template engine configuration and its template class loader. *

      Parameters:
        `templateClassLoader` - the classloader where templates will be searched for *
        `configuration` - the configuration of the template engine

    - #### public URL resolveTemplate(String templatePath)

      * * Resolvers must implement this method in order to resolve a template, given a template path. They * must return a valid URL or an IOException. *

      throws:
        IOException
      Parameters:
        `templatePath` - path to the template *
      Returns:
        the template URL, that will be used to load the template *