blob: 24442b876ee3e8c89c15a687615b65492c850d4a [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_181) on Wed Oct 10 00:41:13 CEST 2018 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>WebappResourceLoader (VelocityTools 3.0 API)</title>
<meta name="date" content="2018-10-10">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="WebappResourceLoader (VelocityTools 3.0 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/WebappResourceLoader.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/velocity/tools/view/ViewToolManager.html" title="class in org.apache.velocity.tools.view"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/velocity/tools/view/WebappUberspector.html" title="class in org.apache.velocity.tools.view"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/velocity/tools/view/WebappResourceLoader.html" target="_top">Frames</a></li>
<li><a href="WebappResourceLoader.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.velocity.tools.view</div>
<h2 title="Class WebappResourceLoader" class="title">Class WebappResourceLoader</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.velocity.runtime.resource.loader.ResourceLoader</li>
<li>
<ul class="inheritance">
<li>org.apache.velocity.tools.view.WebappResourceLoader</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">WebappResourceLoader</span>
extends org.apache.velocity.runtime.resource.loader.ResourceLoader</pre>
<div class="block">Resource loader that uses the ServletContext of a webapp to
load Velocity templates. (it's much easier to use with servlets than
the standard FileResourceLoader, in particular the use of war files
is transparent).
The default search path is '/' (relative to the webapp root), but
you can change this behaviour by specifying one or more paths
by mean of as many webapp.resource.loader.path properties as needed
in the velocity.properties file.
All paths must be relative to the root of the webapp.
To enable caching and cache refreshing the webapp.resource.loader.cache and
webapp.resource.loader.modificationCheckInterval properties need to be
set in the velocity.properties file ... auto-reloading of global macros
requires the webapp.resource.loader.cache property to be set to 'false'.</div>
<dl>
<dt><span class="simpleTagLabel">Version:</span></dt>
<dd>$Id: WebappResourceLoader.java 1833882 2018-06-20 00:47:45Z cbrisson $</dd>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd><a href="mailto:geirm@optonline.net">Geir Magnusson Jr.</a>, Nathan Bubna, <a href="mailto:claude@savoirweb.com">Claude Brisson</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/velocity/tools/view/WebappResourceLoader.html#paths">paths</a></span></code>
<div class="block">The root paths for templates (relative to webapp's root).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected javax.servlet.ServletContext</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/velocity/tools/view/WebappResourceLoader.html#servletContext">servletContext</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/velocity/tools/view/WebappResourceLoader.html#templatePaths">templatePaths</a></span></code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.velocity.runtime.resource.loader.ResourceLoader">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.velocity.runtime.resource.loader.ResourceLoader</h3>
<code>className, isCachingOn, log, modificationCheckInterval, rsvc</code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/velocity/tools/view/WebappResourceLoader.html#WebappResourceLoader--">WebappResourceLoader</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/velocity/tools/view/WebappResourceLoader.html#getLastModified-org.apache.velocity.runtime.resource.Resource-">getLastModified</a></span>(org.apache.velocity.runtime.resource.Resource&nbsp;resource)</code>
<div class="block">Checks to see when a resource was last modified</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io">Reader</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/velocity/tools/view/WebappResourceLoader.html#getResourceReader-java.lang.String-java.lang.String-">getResourceReader</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;encoding)</code>
<div class="block">Get Reader so that the Runtime can build a
template with it.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/velocity/tools/view/WebappResourceLoader.html#init-org.apache.velocity.util.ExtProperties-">init</a></span>(org.apache.velocity.util.ExtProperties&nbsp;configuration)</code>
<div class="block">This is abstract in the base class, so we need it.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/velocity/tools/view/WebappResourceLoader.html#isSourceModified-org.apache.velocity.runtime.resource.Resource-">isSourceModified</a></span>(org.apache.velocity.runtime.resource.Resource&nbsp;resource)</code>
<div class="block">Checks to see if a resource has been deleted, moved or modified.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.velocity.runtime.resource.loader.ResourceLoader">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.velocity.runtime.resource.loader.ResourceLoader</h3>
<code>buildReader, commonInit, getClassName, getModificationCheckInterval, isCachingOn, resourceExists, setCachingOn, setModificationCheckInterval</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="paths">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>paths</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[] paths</pre>
<div class="block">The root paths for templates (relative to webapp's root).</div>
</li>
</ul>
<a name="templatePaths">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>templatePaths</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a> templatePaths</pre>
</li>
</ul>
<a name="servletContext">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>servletContext</h4>
<pre>protected&nbsp;javax.servlet.ServletContext servletContext</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="WebappResourceLoader--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>WebappResourceLoader</h4>
<pre>public&nbsp;WebappResourceLoader()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="init-org.apache.velocity.util.ExtProperties-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>init</h4>
<pre>public&nbsp;void&nbsp;init(org.apache.velocity.util.ExtProperties&nbsp;configuration)</pre>
<div class="block">This is abstract in the base class, so we need it.
<br>
NOTE: this expects that the ServletContext has already
been placed in the runtime's application attributes
under its full class name (i.e. "javax.servlet.ServletContext").</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>init</code>&nbsp;in class&nbsp;<code>org.apache.velocity.runtime.resource.loader.ResourceLoader</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>configuration</code> - the <code>ExtProperties</code> associated with
this resource loader.</dd>
</dl>
</li>
</ul>
<a name="getResourceReader-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getResourceReader</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io">Reader</a>&nbsp;getResourceReader(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;encoding)
throws org.apache.velocity.exception.ResourceNotFoundException</pre>
<div class="block">Get Reader so that the Runtime can build a
template with it.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getResourceReader</code>&nbsp;in class&nbsp;<code>org.apache.velocity.runtime.resource.loader.ResourceLoader</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - name of template to get</dd>
<dd><code>encoding</code> - asked encoding</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>InputStream containing the template</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.apache.velocity.exception.ResourceNotFoundException</code> - if template not found
in classpath.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.0</dd>
</dl>
</li>
</ul>
<a name="isSourceModified-org.apache.velocity.runtime.resource.Resource-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSourceModified</h4>
<pre>public&nbsp;boolean&nbsp;isSourceModified(org.apache.velocity.runtime.resource.Resource&nbsp;resource)</pre>
<div class="block">Checks to see if a resource has been deleted, moved or modified.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>isSourceModified</code>&nbsp;in class&nbsp;<code>org.apache.velocity.runtime.resource.loader.ResourceLoader</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>resource</code> - Resource The resource to check for modification</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>boolean True if the resource has been modified</dd>
</dl>
</li>
</ul>
<a name="getLastModified-org.apache.velocity.runtime.resource.Resource-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getLastModified</h4>
<pre>public&nbsp;long&nbsp;getLastModified(org.apache.velocity.runtime.resource.Resource&nbsp;resource)</pre>
<div class="block">Checks to see when a resource was last modified</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getLastModified</code>&nbsp;in class&nbsp;<code>org.apache.velocity.runtime.resource.loader.ResourceLoader</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>resource</code> - Resource the resource to check</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>long The time when the resource was last modified or 0 if the file can't be read</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/WebappResourceLoader.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/velocity/tools/view/ViewToolManager.html" title="class in org.apache.velocity.tools.view"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/velocity/tools/view/WebappUberspector.html" title="class in org.apache.velocity.tools.view"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/velocity/tools/view/WebappResourceLoader.html" target="_top">Frames</a></li>
<li><a href="WebappResourceLoader.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2002&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>