blob: 40ca4209fbaa82b93370b8528ca9bfacebce707b [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc on Wed Apr 14 08:26:34 EDT 2004 -->
<TITLE>
Velocity 1.4 API: Class DataSourceResourceLoader
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style">
</HEAD>
<BODY BGCOLOR="white">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_top"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DataSourceResourceLoader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/ClasspathResourceLoader.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/FileResourceLoader.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../../index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="DataSourceResourceLoader.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.velocity.runtime.resource.loader</FONT>
<BR>
Class DataSourceResourceLoader</H2>
<PRE>
java.lang.Object
|
+--<A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/ResourceLoader.html">org.apache.velocity.runtime.resource.loader.ResourceLoader</A>
|
+--<B>org.apache.velocity.runtime.resource.loader.DataSourceResourceLoader</B>
</PRE>
<HR>
<DL>
<DT>public class <B>DataSourceResourceLoader</B><DT>extends <A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/ResourceLoader.html">ResourceLoader</A></DL>
<P>
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).
<br>
<br>
Example configuration snippet for velocity.properties:
<br>
<br>
resource.loader = file, ds <br>
<br>
ds.resource.loader.public.name = DataSource <br>
ds.resource.loader.description = Velocity DataSource Resource Loader <br>
ds.resource.loader.class = org.apache.velocity.runtime.resource.loader.DataSourceResourceLoader <br>
ds.resource.loader.resource.datasource = java:comp/env/jdbc/Velocity <br>
ds.resource.loader.resource.table = tb_velocity_template <br>
ds.resource.loader.resource.keycolumn = id_template <br>
ds.resource.loader.resource.templatecolumn = template_definition <br>
ds.resource.loader.resource.timestampcolumn = template_timestamp <br>
ds.resource.loader.cache = false <br>
ds.resource.loader.modificationCheckInterval = 60 <br>
<br>
Example WEB-INF/web.xml: <br>
<br>
<resource-ref> <br>
<description>Velocity template DataSource</description> <br>
<res-ref-name>jdbc/Velocity</res-ref-name> <br>
<res-type>javax.sql.DataSource</res-type> <br>
<res-auth>Container</res-auth> <br>
</resource-ref> <br>
<br>
<br>
and Tomcat 4 server.xml file: <br>
[...] <br>
<Context path="/exampleVelocity" docBase="exampleVelocity" debug="0"> <br>
[...] <br>
<ResourceParams name="jdbc/Velocity"> <br>
<parameter> <br>
<name>driverClassName</name> <br>
<value>org.hsql.jdbcDriver</value> <br>
</parameter> <br>
<parameter> <br>
<name>driverName</name> <br>
<value>jdbc:HypersonicSQL:database</value> <br>
</parameter> <br>
<parameter> <br>
<name>user</name> <br>
<value>database_username</value> <br>
</parameter> <br>
<parameter> <br>
<name>password</name> <br>
<value>database_password</value> <br>
</parameter> <br>
</ResourceParams> <br>
[...] <br>
</Context> <br>
[...] <br>
<br>
Example sql script:<br>
CREATE TABLE tb_velocity_template ( <br>
id_template varchar (40) NOT NULL , <br>
template_definition text (16) NOT NULL , <br>
template_timestamp datetime NOT NULL <br>
) <br>
<P>
<DL>
<DT><B>Version: </B><DD>$Id: DataSourceResourceLoader.java,v 1.8.8.1 2004/03/03 23:23:02 geirm Exp $</DD>
<DT><B>Author: </B><DD><a href="mailto:david.kinnvall@alertir.com">David Kinnvall</a>, <a href="mailto:paulo.gaspar@krankikom.de">Paulo Gaspar</a>, <a href="mailto:lachiewicz@plusnet.pl">Sylwester Lachiewicz</a></DD>
</DL>
<HR>
<P>
<!-- ======== INNER CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Field Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;javax.naming.InitialContext</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/DataSourceResourceLoader.html#ctx">ctx</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;javax.sql.DataSource</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/DataSourceResourceLoader.html#dataSource">dataSource</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/DataSourceResourceLoader.html#dataSourceName">dataSourceName</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/DataSourceResourceLoader.html#keyColumn">keyColumn</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/DataSourceResourceLoader.html#tableName">tableName</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/DataSourceResourceLoader.html#templateColumn">templateColumn</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/DataSourceResourceLoader.html#timestampColumn">timestampColumn</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.velocity.runtime.resource.loader.ResourceLoader"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Fields inherited from class org.apache.velocity.runtime.resource.loader.<A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/ResourceLoader.html">ResourceLoader</A></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/ResourceLoader.html#className">className</A>, <A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/ResourceLoader.html#isCachingOn">isCachingOn</A>, <A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/ResourceLoader.html#modificationCheckInterval">modificationCheckInterval</A>, <A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/ResourceLoader.html#rsvc">rsvc</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/DataSourceResourceLoader.html#DataSourceResourceLoader()">DataSourceResourceLoader</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/DataSourceResourceLoader.html#closeDbConnection(java.sql.Connection)">closeDbConnection</A></B>(java.sql.Connection&nbsp;conn)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Closes connection to the datasource</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/DataSourceResourceLoader.html#getLastModified(org.apache.velocity.runtime.resource.Resource)">getLastModified</A></B>(<A HREF="../../../../../../org/apache/velocity/runtime/resource/Resource.html">Resource</A>&nbsp;resource)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the last modified time of the InputStream source
that was used to create the template.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.io.InputStream</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/DataSourceResourceLoader.html#getResourceStream(java.lang.String)">getResourceStream</A></B>(java.lang.String&nbsp;name)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get an InputStream so that the Runtime can build a
template with it.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/DataSourceResourceLoader.html#init(org.apache.commons.collections.ExtendedProperties)">init</A></B>(org.apache.commons.collections.ExtendedProperties&nbsp;configuration)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initialize the template loader with a
a resources class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/DataSourceResourceLoader.html#isSourceModified(org.apache.velocity.runtime.resource.Resource)">isSourceModified</A></B>(<A HREF="../../../../../../org/apache/velocity/runtime/resource/Resource.html">Resource</A>&nbsp;resource)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given a template, check to see if the source of InputStream
has been modified.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;java.sql.Connection</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/DataSourceResourceLoader.html#openDbConnection()">openDbConnection</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gets connection to the datasource specified through the configuration
parameters.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;java.sql.ResultSet</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/DataSourceResourceLoader.html#readData(java.sql.Connection, java.lang.String, java.lang.String)">readData</A></B>(java.sql.Connection&nbsp;conn,
java.lang.String&nbsp;columnNames,
java.lang.String&nbsp;templateName)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads the data from the datasource.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/DataSourceResourceLoader.html#readLastModified(org.apache.velocity.runtime.resource.Resource, java.lang.String)">readLastModified</A></B>(<A HREF="../../../../../../org/apache/velocity/runtime/resource/Resource.html">Resource</A>&nbsp;resource,
java.lang.String&nbsp;i_operation)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fetches the last modification time of the resource</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.velocity.runtime.resource.loader.ResourceLoader"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class org.apache.velocity.runtime.resource.loader.<A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/ResourceLoader.html">ResourceLoader</A></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/ResourceLoader.html#commonInit(org.apache.velocity.runtime.RuntimeServices, org.apache.commons.collections.ExtendedProperties)">commonInit</A>, <A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/ResourceLoader.html#getClassName()">getClassName</A>, <A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/ResourceLoader.html#getModificationCheckInterval()">getModificationCheckInterval</A>, <A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/ResourceLoader.html#isCachingOn()">isCachingOn</A>, <A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/ResourceLoader.html#setCachingOn(boolean)">setCachingOn</A>, <A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/ResourceLoader.html#setModificationCheckInterval(long)">setModificationCheckInterval</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class java.lang.Object</B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><clinit>, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Field Detail</B></FONT></TD>
</TR>
</TABLE>
<A NAME="dataSourceName"><!-- --></A><H3>
dataSourceName</H3>
<PRE>
private java.lang.String <B>dataSourceName</B></PRE>
<DL>
</DL>
<HR>
<A NAME="tableName"><!-- --></A><H3>
tableName</H3>
<PRE>
private java.lang.String <B>tableName</B></PRE>
<DL>
</DL>
<HR>
<A NAME="keyColumn"><!-- --></A><H3>
keyColumn</H3>
<PRE>
private java.lang.String <B>keyColumn</B></PRE>
<DL>
</DL>
<HR>
<A NAME="templateColumn"><!-- --></A><H3>
templateColumn</H3>
<PRE>
private java.lang.String <B>templateColumn</B></PRE>
<DL>
</DL>
<HR>
<A NAME="timestampColumn"><!-- --></A><H3>
timestampColumn</H3>
<PRE>
private java.lang.String <B>timestampColumn</B></PRE>
<DL>
</DL>
<HR>
<A NAME="ctx"><!-- --></A><H3>
ctx</H3>
<PRE>
private javax.naming.InitialContext <B>ctx</B></PRE>
<DL>
</DL>
<HR>
<A NAME="dataSource"><!-- --></A><H3>
dataSource</H3>
<PRE>
private javax.sql.DataSource <B>dataSource</B></PRE>
<DL>
</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TD>
</TR>
</TABLE>
<A NAME="DataSourceResourceLoader()"><!-- --></A><H3>
DataSourceResourceLoader</H3>
<PRE>
public <B>DataSourceResourceLoader</B>()</PRE>
<DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT></TD>
</TR>
</TABLE>
<A NAME="init(org.apache.commons.collections.ExtendedProperties)"><!-- --></A><H3>
init</H3>
<PRE>
public void <B>init</B>(org.apache.commons.collections.ExtendedProperties&nbsp;configuration)</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/ResourceLoader.html">ResourceLoader</A></CODE></B></DD>
<DD>Initialize the template loader with a
a resources class.<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/ResourceLoader.html#init(org.apache.commons.collections.ExtendedProperties)">init</A></CODE> in class <CODE><A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/ResourceLoader.html">ResourceLoader</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="isSourceModified(org.apache.velocity.runtime.resource.Resource)"><!-- --></A><H3>
isSourceModified</H3>
<PRE>
public boolean <B>isSourceModified</B>(<A HREF="../../../../../../org/apache/velocity/runtime/resource/Resource.html">Resource</A>&nbsp;resource)</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/ResourceLoader.html">ResourceLoader</A></CODE></B></DD>
<DD>Given a template, check to see if the source of InputStream
has been modified.<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/ResourceLoader.html#isSourceModified(org.apache.velocity.runtime.resource.Resource)">isSourceModified</A></CODE> in class <CODE><A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/ResourceLoader.html">ResourceLoader</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="getLastModified(org.apache.velocity.runtime.resource.Resource)"><!-- --></A><H3>
getLastModified</H3>
<PRE>
public long <B>getLastModified</B>(<A HREF="../../../../../../org/apache/velocity/runtime/resource/Resource.html">Resource</A>&nbsp;resource)</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/ResourceLoader.html">ResourceLoader</A></CODE></B></DD>
<DD>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.<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/ResourceLoader.html#getLastModified(org.apache.velocity.runtime.resource.Resource)">getLastModified</A></CODE> in class <CODE><A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/ResourceLoader.html">ResourceLoader</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="getResourceStream(java.lang.String)"><!-- --></A><H3>
getResourceStream</H3>
<PRE>
public java.io.InputStream <B>getResourceStream</B>(java.lang.String&nbsp;name)
throws <A HREF="../../../../../../org/apache/velocity/exception/ResourceNotFoundException.html">ResourceNotFoundException</A></PRE>
<DL>
<DD>Get an InputStream so that the Runtime can build a
template with it.<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/ResourceLoader.html#getResourceStream(java.lang.String)">getResourceStream</A></CODE> in class <CODE><A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/ResourceLoader.html">ResourceLoader</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - name of template<DT><B>Returns:</B><DD>InputStream containing template</DL>
</DD>
</DL>
<HR>
<A NAME="readLastModified(org.apache.velocity.runtime.resource.Resource, java.lang.String)"><!-- --></A><H3>
readLastModified</H3>
<PRE>
private long <B>readLastModified</B>(<A HREF="../../../../../../org/apache/velocity/runtime/resource/Resource.html">Resource</A>&nbsp;resource,
java.lang.String&nbsp;i_operation)</PRE>
<DL>
<DD>Fetches the last modification time of the resource<DD><DL>
<DT><B>Parameters:</B><DD><CODE>resource</CODE> - Resource object we are finding timestamp of<DD><CODE>i_operation</CODE> - string for logging, indicating caller's intention<DT><B>Returns:</B><DD>timestamp as long</DL>
</DD>
</DL>
<HR>
<A NAME="openDbConnection()"><!-- --></A><H3>
openDbConnection</H3>
<PRE>
private java.sql.Connection <B>openDbConnection</B>()
throws java.lang.Exception</PRE>
<DL>
<DD>gets connection to the datasource specified through the configuration
parameters.<DD><DL>
<DT><B>Returns:</B><DD>connection</DL>
</DD>
</DL>
<HR>
<A NAME="closeDbConnection(java.sql.Connection)"><!-- --></A><H3>
closeDbConnection</H3>
<PRE>
private void <B>closeDbConnection</B>(java.sql.Connection&nbsp;conn)</PRE>
<DL>
<DD>Closes connection to the datasource</DL>
<HR>
<A NAME="readData(java.sql.Connection, java.lang.String, java.lang.String)"><!-- --></A><H3>
readData</H3>
<PRE>
private java.sql.ResultSet <B>readData</B>(java.sql.Connection&nbsp;conn,
java.lang.String&nbsp;columnNames,
java.lang.String&nbsp;templateName)
throws java.sql.SQLException</PRE>
<DL>
<DD>Reads the data from the datasource. It simply does the following query :
<br>
SELECT <i>columnNames</i> FROM <i>tableName</i> WHERE <i>keyColumn</i>
= '<i>templateName</i>'
<br>
where <i>keyColumn</i> is a class member set in init()<DD><DL>
<DT><B>Parameters:</B><DD><CODE>conn</CODE> - connection to datasource<DD><CODE>columnNames</CODE> - columns to fetch from datasource<DD><CODE>templateName</CODE> - name of template to fetch<DT><B>Returns:</B><DD>result set from query</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DataSourceResourceLoader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/ClasspathResourceLoader.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../org/apache/velocity/runtime/resource/loader/FileResourceLoader.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../../index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="DataSourceResourceLoader.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
Copyright © 2002 Apache Software Foundation. All Rights Reserved.
</BODY>
</HTML>