Class ConfluenceVelocityResourceManager

java.lang.Object
com.atlassian.confluence.velocity.ConfigurableResourceManager
com.atlassian.confluence.util.velocity.ConfluenceVelocityResourceManager
All Implemented Interfaces:
org.apache.velocity.runtime.resource.ResourceManager
Direct Known Subclasses:
CompatibleVelocityResourceManager

public class ConfluenceVelocityResourceManager extends ConfigurableResourceManager
Specialisation that allows for a hot swappable ResourceCache. Also allows resource loaders to be configured as source of space decoration resources via the decorator.provider boolean property. Any resource loader not configured to be a space decorator provider will be wrapped and answer null for space decoration resources.
  • Constructor Details

    • ConfluenceVelocityResourceManager

      public ConfluenceVelocityResourceManager()
      Everytime this is called, the resource manager singleton is replaced with the newly provided instance. There should only ever be one of these created but as we don't have control over the creating code (Struts velocity manager), we can't enforce singleton use via a factory method.
  • Method Details

    • setCacheFactory

      public static void setCacheFactory(com.atlassian.cache.CacheFactory cacheFactory)
    • setCacheFactory

      @Deprecated public static void setCacheFactory(com.atlassian.vcache.VCacheFactory cacheFactory)
      Deprecated.
    • initialize

      public void initialize(org.apache.velocity.runtime.RuntimeServices runtimeServices) throws Exception
      Description copied from class: ConfigurableResourceManager
      Initialize the ResourceManager.
      Specified by:
      initialize in interface org.apache.velocity.runtime.resource.ResourceManager
      Overrides:
      initialize in class ConfigurableResourceManager
      Parameters:
      runtimeServices - The Runtime Services object which is associated with this Resource Manager.
      Throws:
      Exception
    • postProcessLoader

      protected org.apache.velocity.runtime.resource.loader.ResourceLoader postProcessLoader(org.apache.velocity.runtime.resource.loader.ResourceLoader loader, org.apache.commons.collections.ExtendedProperties config)
      Description copied from class: ConfigurableResourceManager
      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.
      Overrides:
      postProcessLoader in class ConfigurableResourceManager
      Parameters:
      loader - Resource loader to process
      config - 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()
      Description copied from class: ConfigurableResourceManager

      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.

      Overrides:
      getResourceFactory in class ConfigurableResourceManager
      Returns:
      resource factory to use for this resource manager
      See Also:
      • ConfigurableResourceManager.DefaultResourceFactory