Class ConfigurableResourceManager

    • 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 org.apache.velocity.runtime.resource.ResourceCache globalCache
        Object implementing ResourceCache to be our resource manager's Resource cache.
      • resourceLoaders

        protected final List<org.apache.velocity.runtime.resource.loader.ResourceLoader> resourceLoaders
        The List of templateLoaders that the Runtime will use to locate the InputStream source of a template.
      • rsvc

        protected org.apache.velocity.runtime.RuntimeServices rsvc
        The internal RuntimeServices object.
      • log

        protected org.apache.velocity.runtime.log.Log log
        Logging.
    • Constructor Detail

      • ConfigurableResourceManager

        public ConfigurableResourceManager()
    • Method Detail

      • initialize

        public void initialize​(org.apache.velocity.runtime.RuntimeServices rsvc)
                        throws Exception
        Initialize the ResourceManager.
        Specified by:
        initialize in interface org.apache.velocity.runtime.resource.ResourceManager
        Parameters:
        rsvc - The Runtime Services object which is associated with this Resource Manager.
        Throws:
        Exception
      • getResource

        public org.apache.velocity.runtime.resource.Resource getResource​(String resourceName,
                                                                         int resourceType,
                                                                         String encoding)
                                                                  throws org.apache.velocity.exception.ResourceNotFoundException,
                                                                         org.apache.velocity.exception.ParseErrorException,
                                                                         Exception
        Gets the named resource. Returned class type corresponds to specified type (i.e. Template to RESOURCE_TEMPLATE).

        The original version of this class logs and rethrows virtually any exception thrown. This logging has been removed since these exceptions are often expected.

        Specified by:
        getResource in interface org.apache.velocity.runtime.resource.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:
        org.apache.velocity.exception.ResourceNotFoundException - if template not found from any available source.
        org.apache.velocity.exception.ParseErrorException - if template cannot be parsed due to syntax (or other) error.
        Exception - if a problem in parse
      • loadResource

        protected org.apache.velocity.runtime.resource.Resource loadResource​(String resourceName,
                                                                             int resourceType,
                                                                             String encoding)
                                                                      throws org.apache.velocity.exception.ResourceNotFoundException,
                                                                             org.apache.velocity.exception.ParseErrorException,
                                                                             Exception
        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:
        org.apache.velocity.exception.ResourceNotFoundException - if template not found from any available source.
        org.apache.velocity.exception.ParseErrorException - if template cannot be parsed due to syntax (or other) error.
        Exception - if a problem in parse
      • refreshResource

        protected void refreshResource​(org.apache.velocity.runtime.resource.Resource resource,
                                       String encoding)
                                throws org.apache.velocity.exception.ResourceNotFoundException,
                                       org.apache.velocity.exception.ParseErrorException,
                                       Exception
        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:
        org.apache.velocity.exception.ResourceNotFoundException - if template not found from current source for this Resource
        org.apache.velocity.exception.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 org.apache.velocity.runtime.resource.ResourceManager
        Parameters:
        resourceName - Name of template or content resource
        Returns:
        name of loader than can provide it
      • postProcessLoader

        protected org.apache.velocity.runtime.resource.loader.ResourceLoader postProcessLoader​(org.apache.velocity.runtime.resource.loader.ResourceLoader loader,
                                                                                               org.apache.commons.collections.ExtendedProperties properties)
        Template method to allow subclasses to post process and possibly wrap a resource loader before it is added to the loader list. This implementation does nothing.
        Parameters:
        loader - Resource loader to process
        properties - Configured properties for the resource loader
        Returns:
        final resource loader instance to be used at runtime. Must not be null.
      • getResourceFactory

        protected ConfigurableResourceManager.ResourceFactory getResourceFactory()

        Template method for provisioning a ConfigurableResourceManager.ResourceFactory. Subclasses may customise this factory where necessary.

        This implementation returns a strategy that delegates to the default Velocity resource factory methods.

        Returns:
        resource factory to use for this resource manager
        See Also:
        ConfigurableResourceManager.DefaultResourceFactory