Class ResourceLoader

java.lang.Object
org.apache.velocity.runtime.resource.loader.ResourceLoader
Direct Known Subclasses:
ClasspathResourceLoader, DataSourceResourceLoader, FileResourceLoader, JarResourceLoader, StringResourceLoader, URLResourceLoader

public abstract class ResourceLoader extends Object
This is abstract class the all text resource loaders should extend.
Version:
$Id: ResourceLoader.java 832280 2009-11-03 02:47:55Z wglass $
Author:
Jason van Zyl, Geir Magnusson Jr.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected String
    Class name for this loader, for logging/debuggin purposes.
    protected boolean
    Does this loader want templates produced with it cached in the Runtime.
    protected Log
     
    protected long
    This property will be passed on to the templates that are created with this loader.
    protected RuntimeServices
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    commonInit(RuntimeServices rs, org.apache.commons.collections.ExtendedProperties configuration)
    This initialization is used by all resource loaders and must be called to set up common properties shared by all resource loaders
    Return the class name of this resource Loader
    abstract long
    Get the last modified time of the InputStream source that was used to create the template.
    long
    Get the interval at which the InputStream source should be checked for modifications.
    abstract InputStream
    Get the InputStream that the Runtime will parse to create a template.
    abstract void
    init(org.apache.commons.collections.ExtendedProperties configuration)
    Initialize the template loader with a a resources class.
    boolean
    The Runtime uses this to find out whether this template loader wants the Runtime to cache templates created with InputStreams provided by this loader.
    abstract boolean
    Given a template, check to see if the source of InputStream has been modified.
    boolean
    resourceExists(String resourceName)
    Check whether any given resource exists.
    void
    setCachingOn(boolean value)
    Set the caching state.
    void
    setModificationCheckInterval(long modificationCheckInterval)
    Set the interval at which the InputStream source should be checked for modifications.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • isCachingOn

      protected boolean isCachingOn
      Does this loader want templates produced with it cached in the Runtime.
    • modificationCheckInterval

      protected long modificationCheckInterval
      This property will be passed on to the templates that are created with this loader.
    • className

      protected String className
      Class name for this loader, for logging/debuggin purposes.
    • rsvc

      protected RuntimeServices rsvc
    • log

      protected Log log
  • Constructor Details

    • ResourceLoader

      public ResourceLoader()
  • Method Details

    • commonInit

      public void commonInit(RuntimeServices rs, org.apache.commons.collections.ExtendedProperties configuration)
      This initialization is used by all resource loaders and must be called to set up common properties shared by all resource loaders
      Parameters:
      rs -
      configuration -
    • init

      public abstract void init(org.apache.commons.collections.ExtendedProperties configuration)
      Initialize the template loader with a a resources class.
      Parameters:
      configuration -
    • getResourceStream

      public abstract InputStream getResourceStream(String source) throws ResourceNotFoundException
      Get the InputStream that the Runtime will parse to create a template.
      Parameters:
      source -
      Returns:
      The input stream for the requested resource.
      Throws:
      ResourceNotFoundException
    • isSourceModified

      public abstract boolean isSourceModified(Resource resource)
      Given a template, check to see if the source of InputStream has been modified.
      Parameters:
      resource -
      Returns:
      True if the resource has been modified.
    • getLastModified

      public abstract long getLastModified(Resource resource)
      Get the last modified time of the InputStream source that was used to create the template. We need the template here because we have to extract the name of the template in order to locate the InputStream source.
      Parameters:
      resource -
      Returns:
      Time in millis when the resource has been modified.
    • getClassName

      public String getClassName()
      Return the class name of this resource Loader
      Returns:
      Class name of the resource loader.
    • setCachingOn

      public void setCachingOn(boolean value)
      Set the caching state. If true, then this loader would like the Runtime to cache templates that have been created with InputStreams provided by this loader.
      Parameters:
      value -
    • isCachingOn

      public boolean isCachingOn()
      The Runtime uses this to find out whether this template loader wants the Runtime to cache templates created with InputStreams provided by this loader.
      Returns:
      True if this resource loader caches.
    • setModificationCheckInterval

      public void setModificationCheckInterval(long modificationCheckInterval)
      Set the interval at which the InputStream source should be checked for modifications.
      Parameters:
      modificationCheckInterval -
    • getModificationCheckInterval

      public long getModificationCheckInterval()
      Get the interval at which the InputStream source should be checked for modifications.
      Returns:
      The modification check interval.
    • resourceExists

      public boolean resourceExists(String resourceName)
      Check whether any given resource exists. This is not really a very efficient test and it can and should be overridden in the subclasses extending ResourceLoader.
      Parameters:
      resourceName - The name of a resource.
      Returns:
      true if a resource exists and can be accessed.
      Since:
      1.6