Package org.apache.velocity.runtime.resource

# Interface ResourceManager

All Known Implementing Classes:
  `ResourceManagerImpl`

public interface ResourceManager
Class to manage the text resource for the Velocity Runtime.

Version:
  $Id$
Author:
  Jason van Zyl, Paulo Gaspar, Geir Magnusson Jr.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`RESOURCE_CONTENT`
A static content resource.
`static final int`
`RESOURCE_TEMPLATE`
A template resources.

## Method Summary

Modifier and Type
Method
Description
`String`
`getLoaderNameForResource(String resourceName)`
Determines is a template exists, and returns name of the loader that provides it.
`Resource`
`getResource(String resourceName, int resourceType, String encoding)`
Gets the named resource.
`void`
`initialize(RuntimeServices rs)`
Initialize the ResourceManager.

## Field Details

### RESOURCE_TEMPLATE

static final int RESOURCE_TEMPLATE
A template resources.

See Also:
  - Constant Field Values

### RESOURCE_CONTENT

static final int RESOURCE_CONTENT
A static content resource.

See Also:
  - Constant Field Values

## Method Details

### initialize

void initialize(RuntimeServices rs)
Initialize the ResourceManager.

Parameters:
  `rs` -

### getResource

Resource getResource(String resourceName, int resourceType, String encoding) throws ResourceNotFoundException, ParseErrorException
Gets the named resource. Returned class type corresponds to specified type (i.e. `Template` to `RESOURCE_TEMPLATE`).

Parameters:
  `resourceName` - The name of the resource to retrieve.
  `resourceType` - The type of resource (`RESOURCE_TEMPLATE`, `RESOURCE_CONTENT`, etc.).
  `encoding` - The character encoding to use.
Returns:
  Resource with the template parsed and ready.
Throws:
  `ResourceNotFoundException` - if template not found from any available source.
  `ParseErrorException` - if template cannot be parsed due to syntax (or other) error.

### getLoaderNameForResource

String getLoaderNameForResource(String resourceName)
Determines is a template exists, and returns name of the loader that provides it. This is a slightly less hokey way to support the Velocity.templateExists() utility method, which was broken when per-template encoding was introduced. We can revisit this.

Parameters:
  `resourceName` - Name of template or content resource
Returns:
  class name of loader than can provide it