| 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.velocity.runtime.resource.loader.ResourceLoader
org.apache.velocity.runtime.resource.loader.DataSourceResourceLoader
public class DataSourceResourceLoader
This is a simple template file loader that loads templates from a DataSource instead of plain files.
It can be configured with a datasource name, a table name,
 id column (name), content column (the template body) and a
 datetime column (for last modification info).
 
 
 Example configuration snippet for velocity.properties:
 
 
 resource.loader = file, ds 
 
 ds.resource.loader.public.name = DataSource 
 ds.resource.loader.description = Velocity DataSource Resource Loader 
 ds.resource.loader.class = org.apache.velocity.runtime.resource.loader.DataSourceResourceLoader 
 ds.resource.loader.resource.datasource = java:comp/env/jdbc/Velocity 
 ds.resource.loader.resource.table = tb_velocity_template 
 ds.resource.loader.resource.keycolumn = id_template 
 ds.resource.loader.resource.templatecolumn = template_definition 
 ds.resource.loader.resource.timestampcolumn = template_timestamp 
 ds.resource.loader.cache = false 
 ds.resource.loader.modificationCheckInterval = 60 
 
 
Optionally, the developer can instantiate the DataSourceResourceLoader and set the DataSource via code in
 a manner similar to the following:
 
 
 DataSourceResourceLoader ds = new DataSourceResourceLoader();
 ds.setDataSource(DATASOURCE);
 Velocity.setProperty("ds.resource.loader.instance",ds);
 
 The property ds.resource.loader.class should be left out, otherwise all the other
 properties in velocity.properties would remain the same.
 
 
 Example WEB-INF/web.xml: 
 
  
   
   
   
   
  
 
  
 and Tomcat 4 server.xml file: 
  [...] 
  
  [...] 
   
    
      
      
    
    
     
     
    
    
     
     
    
    
     
     
    
   
  [...] 
  
  [...] 
 
  Example sql script:
  CREATE TABLE tb_velocity_template ( 
  id_template varchar (40) NOT NULL , 
  template_definition text (16) NOT NULL , 
  template_timestamp datetime NOT NULL  
  ) 
| Field Summary | 
|---|
| Fields inherited from class org.apache.velocity.runtime.resource.loader.ResourceLoader | 
|---|
className, isCachingOn, log, modificationCheckInterval, rsvc | 
| Constructor Summary | |
|---|---|
DataSourceResourceLoader()
 | 
|
| Method Summary | |
|---|---|
 long | 
getLastModified(Resource resource)
Get the last modified time of the InputStream source that was used to create the template.  | 
 InputStream | 
getResourceStream(String name)
Get an InputStream so that the Runtime can build a template with it.  | 
 void | 
init(ExtendedProperties configuration)
Initialize the template loader with a a resources class.  | 
 boolean | 
isSourceModified(Resource resource)
Given a template, check to see if the source of InputStream has been modified.  | 
 void | 
setDataSource(DataSource dataSource)
Set the DataSource used by this resource loader.  | 
| Methods inherited from class org.apache.velocity.runtime.resource.loader.ResourceLoader | 
|---|
commonInit, getClassName, getModificationCheckInterval, isCachingOn, resourceExists, setCachingOn, setModificationCheckInterval | 
| Methods inherited from class java.lang.Object | 
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Constructor Detail | 
|---|
public DataSourceResourceLoader()
| Method Detail | 
|---|
public void init(ExtendedProperties configuration)
ResourceLoader
init in class ResourceLoaderResourceLoader.init(org.apache.commons.collections.ExtendedProperties)public void setDataSource(DataSource dataSource)
dataSource - The data source for this ResourceLoader.public boolean isSourceModified(Resource resource)
ResourceLoader
isSourceModified in class ResourceLoaderResourceLoader.isSourceModified(org.apache.velocity.runtime.resource.Resource)public long getLastModified(Resource resource)
ResourceLoader
getLastModified in class ResourceLoaderResourceLoader.getLastModified(org.apache.velocity.runtime.resource.Resource)
public InputStream getResourceStream(String name)
                              throws ResourceNotFoundException
getResourceStream in class ResourceLoadername - name of template
ResourceNotFoundException
  | 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||