Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.velocity.runtime.resource
Class ResourceManagerImpl

    java.lang.Object
      org.apache.velocity.runtime.resource.ResourceManagerImpl

All Implemented Interfaces:
  ResourceManager

public class ResourceManagerImpl
extends Object
implements ResourceManager

Class to manage the text resource for the Velocity Runtime.

Version:
  $Id: ResourceManagerImpl.java 745757 2009-02-19 06:48:10Z nbubna $
Author:
  Will Glass-Husain, Jason van Zyl, Paulo Gaspar, Geir Magnusson Jr., Henning P. Schmiedehausen

Field Summary
`protected ResourceCache` | `globalCache` Object implementing ResourceCache to be our resource manager's Resource cache.
`protected Log` | `log` Logging.
`static int` | `RESOURCE_CONTENT` A static content resource.
`static int` | `RESOURCE_TEMPLATE` A template resources.
`protected List` | `resourceLoaders` The List of templateLoaders that the Runtime will use to locate the InputStream source of a template.
`protected RuntimeServices` | `rsvc` The internal RuntimeServices object.

Constructor Summary
`ResourceManagerImpl()`

Method Summary
`protected Resource` | `createResource(String resourceName, int resourceType)` Create a new Resource of the specified type.
`String` | `getLoaderNameForResource(String resourceName)` Determines if a template exists, and returns name of the loader that provides it.
`Resource` | `getResource(String resourceName, int resourceType)` Deprecated. Use `getResource(String resourceName, int resourceType, String encoding )`
`Resource` | `getResource(String resourceName, int resourceType, String encoding)` Gets the named resource.
`void` | `initialize(RuntimeServices rsvc)` Initialize the ResourceManager.
`protected Resource` | `loadResource(String resourceName, int resourceType, String encoding)` Loads a resource from the current set of resource loaders.
`protected Resource` | `refreshResource(Resource resource, String encoding)` Takes an existing resource, and 'refreshes' it.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### RESOURCE_TEMPLATE

    public static final int RESOURCE_TEMPLATE

  A template resources.

  See Also:
    Constant Field Values

### RESOURCE_CONTENT

    public static final int RESOURCE_CONTENT

  A static content resource.

  See Also:
    Constant Field Values

### globalCache

    protected ResourceCache globalCache

  Object implementing ResourceCache to be our resource manager's Resource cache.

### resourceLoaders

    protected final List resourceLoaders

  The List of templateLoaders that the Runtime will use to locate the InputStream source of a template.

### rsvc

    protected RuntimeServices rsvc

  The internal RuntimeServices object.

### log

    protected Log log

  Logging.

Constructor Detail

### ResourceManagerImpl

    public ResourceManagerImpl()

Method Detail

### initialize

    public void initialize(RuntimeServices rsvc)

  Initialize the ResourceManager.

  Specified by:
    `initialize` in interface `ResourceManager`
  Parameters:
    `rsvc` - The Runtime Services object which is associated with this Resource Manager.

### getResource

    public 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`). This method is now unsynchronized which requires that ResourceCache implementations be thread safe (as the default is).

  Specified by:
    `getResource` in interface `ResourceManager`
  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.

### createResource

    protected Resource createResource(String resourceName,
                                      int resourceType)

  Create a new Resource of the specified type.

  Parameters:
    `resourceName` - The name of the resource to retrieve.
    `resourceType` - The type of resource (`RESOURCE_TEMPLATE`, `RESOURCE_CONTENT`, etc.).
  Returns:
    new instance of appropriate resource type
  Since:
    1.6

### loadResource

    protected Resource loadResource(String resourceName,
                                    int resourceType,
                                    String encoding)
                             throws ResourceNotFoundException,
                                    ParseErrorException

  Loads a resource from the current set of resource loaders.

  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.

### refreshResource

    protected Resource refreshResource(Resource resource,
                                       String encoding)
                                throws ResourceNotFoundException,
                                       ParseErrorException

  Takes an existing resource, and 'refreshes' it. This generally means that the source of the resource is checked for changes according to some cache/check algorithm and if the resource changed, then the resource data is reloaded and re-parsed.

  Parameters:
    `resource` - resource to refresh
    `encoding` - character encoding of the resource to refresh.
  Throws:
    `ResourceNotFoundException` - if template not found from current source for this Resource
    `ParseErrorException` - if template cannot be parsed due to syntax (or other) error.

### getResource

    public Resource getResource(String resourceName,
                                int resourceType)
                         throws ResourceNotFoundException,
                                ParseErrorException,
                                Exception

  Deprecated. Use `getResource(String resourceName, int resourceType, String encoding )`

  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.).
  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

    public String getLoaderNameForResource(String resourceName)

  Determines if 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.

  Specified by:
    `getLoaderNameForResource` in interface `ResourceManager`
  Parameters:
    `resourceName` - Name of template or content resource
  Returns:
    class name of loader than can provide it

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2010 Apache Software Foundation. All Rights Reserved.