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: ResourceManager.java 191743 2005-06-21 23:22:20Z dlr $
Author:
Jason van Zyl, Paulo Gaspar, Geir Magnusson Jr.

Field Summary
static int RESOURCE_CONTENT
          A static content resource.
static int RESOURCE_TEMPLATE
          A template resources.
 
Method Summary
 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 Detail

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 Detail

initialize

void initialize(RuntimeServices rs)
                throws Exception
Initialize the ResourceManager.

Throws:
Exception

getResource

Resource getResource(String resourceName,
                     int resourceType,
                     String encoding)
                     throws ResourceNotFoundException,
                            ParseErrorException,
                            Exception
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.
Exception - if a problem in parse

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


Copyright © 2002 Apache Software Foundation. All Rights Reserved.