http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/b35e4aa5/builds/2.3.24-pre01/_html/api/freemarker/cache/TemplateLookupResult.html ---------------------------------------------------------------------- diff --git a/builds/2.3.24-pre01/_html/api/freemarker/cache/TemplateLookupResult.html b/builds/2.3.24-pre01/_html/api/freemarker/cache/TemplateLookupResult.html new file mode 100644 index 0000000..a303287 --- /dev/null +++ b/builds/2.3.24-pre01/_html/api/freemarker/cache/TemplateLookupResult.html @@ -0,0 +1,266 @@ +<!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_20) on Wed Sep 02 01:20:16 CEST 2015 --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>TemplateLookupResult (FreeMarker 2.3.24-pre01 API)</title> +<meta name="date" content="2015-09-02"> +<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="TemplateLookupResult (FreeMarker 2.3.24-pre01 API)"; + } + } + catch(err) { + } +//--> +var methods = {"i0":6,"i1":6}; +var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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/TemplateLookupResult.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="../../freemarker/cache/TemplateLookupContext.html" title="class in freemarker.cache"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../freemarker/cache/TemplateLookupStrategy.html" title="class in freemarker.cache"><span class="typeNameLink">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../index.html?freemarker/cache/TemplateLookupResult.html" target="_top">Frames</a></li> +<li><a href="TemplateLookupResult.html" target="_top">No Frames</a></li> +</ul> +<ul class="navList" id="allclasses_navbar_top"> +<li><a href="../../allclasses-noframe.html">All 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: </li> +<li>Nested | </li> +<li>Field | </li> +<li>Constr | </li> +<li><a href="#method.summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li>Field | </li> +<li>Constr | </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">freemarker.cache</div> +<h2 title="Class TemplateLookupResult" class="title">Class TemplateLookupResult</h2> +</div> +<div class="contentContainer"> +<ul class="inheritance"> +<li><a href="http://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>freemarker.cache.TemplateLookupResult</li> +</ul> +</li> +</ul> +<div class="description"> +<ul class="blockList"> +<li class="blockList"> +<hr> +<br> +<pre>public abstract class <span class="typeNameLabel">TemplateLookupResult</span> +extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre> +<div class="block">The return value of <a href="../../freemarker/cache/TemplateLookupStrategy.html#lookup-freemarker.cache.TemplateLookupContext-"><code>TemplateLookupStrategy.lookup(TemplateLookupContext)</code></a> and similar lookup methods. You + usually get one from <a href="../../freemarker/cache/TemplateLookupContext.html#lookupWithAcquisitionStrategy-java.lang.String-"><code>TemplateLookupContext.lookupWithAcquisitionStrategy(String)</code></a> or + <a href="../../freemarker/cache/TemplateLookupContext.html#createNegativeLookupResult--"><code>TemplateLookupContext.createNegativeLookupResult()</code></a>; you can't create instances of this directly.</div> +<dl> +<dt><span class="simpleTagLabel">Since:</span></dt> +<dd>2.3.22</dd> +</dl> +</li> +</ul> +</div> +<div class="summary"> +<ul class="blockList"> +<li class="blockList"> +<!-- ========== 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"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </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>abstract <a href="http://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="../../freemarker/cache/TemplateLookupResult.html#getTemplateSourceName--">getTemplateSourceName</a></span>()</code> +<div class="block">The source name of the template found (see <a href="../../freemarker/template/Template.html#getSourceName--"><code>Template.getSourceName()</code></a>), or <code>null</code> if + <a href="../../freemarker/cache/TemplateLookupResult.html#isPositive--"><code>isPositive()</code></a> is <code>false</code>.</div> +</td> +</tr> +<tr id="i1" class="rowColor"> +<td class="colFirst"><code>abstract boolean</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/cache/TemplateLookupResult.html#isPositive--">isPositive</a></span>()</code> +<div class="block">Tells if the lookup has found a matching template.</div> +</td> +</tr> +</table> +<ul class="blockList"> +<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object"> +<!-- --> +</a> +<h3>Methods inherited from class java.lang.<a href="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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"> +<!-- ============ METHOD DETAIL ========== --> +<ul class="blockList"> +<li class="blockList"><a name="method.detail"> +<!-- --> +</a> +<h3>Method Detail</h3> +<a name="getTemplateSourceName--"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getTemplateSourceName</h4> +<pre>public abstract <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> getTemplateSourceName()</pre> +<div class="block">The source name of the template found (see <a href="../../freemarker/template/Template.html#getSourceName--"><code>Template.getSourceName()</code></a>), or <code>null</code> if + <a href="../../freemarker/cache/TemplateLookupResult.html#isPositive--"><code>isPositive()</code></a> is <code>false</code>.</div> +</li> +</ul> +<a name="isPositive--"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>isPositive</h4> +<pre>public abstract boolean isPositive()</pre> +<div class="block">Tells if the lookup has found a matching template.</div> +</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/TemplateLookupResult.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="../../freemarker/cache/TemplateLookupContext.html" title="class in freemarker.cache"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../freemarker/cache/TemplateLookupStrategy.html" title="class in freemarker.cache"><span class="typeNameLink">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../index.html?freemarker/cache/TemplateLookupResult.html" target="_top">Frames</a></li> +<li><a href="TemplateLookupResult.html" target="_top">No Frames</a></li> +</ul> +<ul class="navList" id="allclasses_navbar_bottom"> +<li><a href="../../allclasses-noframe.html">All 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: </li> +<li>Nested | </li> +<li>Field | </li> +<li>Constr | </li> +<li><a href="#method.summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li>Field | </li> +<li>Constr | </li> +<li><a href="#method.detail">Method</a></li> +</ul> +</div> +<a name="skip.navbar.bottom"> +<!-- --> +</a></div> +<!-- ======== END OF BOTTOM NAVBAR ======= --> +</body> +</html>
http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/b35e4aa5/builds/2.3.24-pre01/_html/api/freemarker/cache/TemplateLookupStrategy.html ---------------------------------------------------------------------- diff --git a/builds/2.3.24-pre01/_html/api/freemarker/cache/TemplateLookupStrategy.html b/builds/2.3.24-pre01/_html/api/freemarker/cache/TemplateLookupStrategy.html new file mode 100644 index 0000000..dd5eefe --- /dev/null +++ b/builds/2.3.24-pre01/_html/api/freemarker/cache/TemplateLookupStrategy.html @@ -0,0 +1,381 @@ +<!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_20) on Wed Sep 02 01:20:16 CEST 2015 --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>TemplateLookupStrategy (FreeMarker 2.3.24-pre01 API)</title> +<meta name="date" content="2015-09-02"> +<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="TemplateLookupStrategy (FreeMarker 2.3.24-pre01 API)"; + } + } + catch(err) { + } +//--> +var methods = {"i0":6}; +var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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/TemplateLookupStrategy.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="../../freemarker/cache/TemplateLookupResult.html" title="class in freemarker.cache"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../freemarker/cache/TemplateNameFormat.html" title="class in freemarker.cache"><span class="typeNameLink">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../index.html?freemarker/cache/TemplateLookupStrategy.html" target="_top">Frames</a></li> +<li><a href="TemplateLookupStrategy.html" target="_top">No Frames</a></li> +</ul> +<ul class="navList" id="allclasses_navbar_top"> +<li><a href="../../allclasses-noframe.html">All 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: </li> +<li>Nested | </li> +<li><a href="#field.summary">Field</a> | </li> +<li><a href="#constructor.summary">Constr</a> | </li> +<li><a href="#method.summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li><a href="#field.detail">Field</a> | </li> +<li><a href="#constructor.detail">Constr</a> | </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">freemarker.cache</div> +<h2 title="Class TemplateLookupStrategy" class="title">Class TemplateLookupStrategy</h2> +</div> +<div class="contentContainer"> +<ul class="inheritance"> +<li><a href="http://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>freemarker.cache.TemplateLookupStrategy</li> +</ul> +</li> +</ul> +<div class="description"> +<ul class="blockList"> +<li class="blockList"> +<hr> +<br> +<pre>public abstract class <span class="typeNameLabel">TemplateLookupStrategy</span> +extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre> +<div class="block">Finds the <a href="../../freemarker/cache/TemplateLoader.html" title="interface in freemarker.cache"><code>TemplateLoader</code></a>-level (storage-level) template source for the template name witch which the template + was requested (as in <a href="../../freemarker/template/Configuration.html#getTemplate-java.lang.String-"><code>Configuration.getTemplate(String)</code></a>). This usually means trying various + <a href="../../freemarker/cache/TemplateLoader.html" title="interface in freemarker.cache"><code>TemplateLoader</code></a>-level template names (so called source names; see also <a href="../../freemarker/template/Template.html#getSourceName--"><code>Template.getSourceName()</code></a>) that + were deduced from the requested name. Trying a name usually means calling + <a href="../../freemarker/cache/TemplateLookupContext.html#lookupWithAcquisitionStrategy-java.lang.String-"><code>TemplateLookupContext.lookupWithAcquisitionStrategy(String)</code></a> with it and checking the value of + <a href="../../freemarker/cache/TemplateLookupResult.html#isPositive--"><code>TemplateLookupResult.isPositive()</code></a>. + + <p> + Before you write your own lookup strategy, know that: + <ul> + <li>A template lookup strategy meant to operate solely with template names, not with <a href="../../freemarker/cache/TemplateLoader.html" title="interface in freemarker.cache"><code>TemplateLoader</code></a>-s + directly. Basically, it's a mapping between the template names that templates and API-s like + <a href="../../freemarker/template/Configuration.html#getTemplate-java.lang.String-"><code>Configuration.getTemplate(String)</code></a> see, and those that the underlying <a href="../../freemarker/cache/TemplateLoader.html" title="interface in freemarker.cache"><code>TemplateLoader</code></a> sees. + <li>A template lookup strategy doesn't influence the template's name (<a href="../../freemarker/template/Template.html#getName--"><code>Template.getName()</code></a>), which is the + normalized form of the template name as it was requested (with <a href="../../freemarker/template/Configuration.html#getTemplate-java.lang.String-"><code>Configuration.getTemplate(String)</code></a>, etc.). It + only influences the so called source name of the template (<a href="../../freemarker/template/Template.html#getSourceName--"><code>Template.getSourceName()</code></a>). The template's name is + used as the basis for resolving relative inclusions/imports in the template. The source name is pretty much only used + in error messages as error location, and of course, to actually load the template "file". + <li>Understand the impact of the last point if your template lookup strategy fiddles not only with the file name part + of the template name, but also with the directory part. For example, one may want to map "foo.ftl" to "en/foo.ftl", + "fr/foo.ftl", etc. That's legal, but the result is kind of like if you had several root directories ("en/", "fr/", + etc.) that are layered over each other to form a single merged directory. (This is what's desirable in typical + applications, yet it can be confusing.) + </ul></div> +<dl> +<dt><span class="simpleTagLabel">Since:</span></dt> +<dd>2.3.22</dd> +<dt><span class="seeLabel">See Also:</span></dt> +<dd><a href="../../freemarker/template/Configuration.html#setTemplateLookupStrategy-freemarker.cache.TemplateLookupStrategy-"><code>Configuration.setTemplateLookupStrategy(TemplateLookupStrategy)</code></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"> </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>static <a href="../../freemarker/cache/TemplateLookupStrategy.html" title="class in freemarker.cache">TemplateLookupStrategy</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/cache/TemplateLookupStrategy.html#DEFAULT_2_3_0">DEFAULT_2_3_0</a></span></code> +<div class="block"> + The default lookup strategy of FreeMarker.</div> +</td> +</tr> +</table> +</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"> </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="../../freemarker/cache/TemplateLookupStrategy.html#TemplateLookupStrategy--">TemplateLookupStrategy</a></span>()</code> </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"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </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>abstract <a href="../../freemarker/cache/TemplateLookupResult.html" title="class in freemarker.cache">TemplateLookupResult</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/cache/TemplateLookupStrategy.html#lookup-freemarker.cache.TemplateLookupContext-">lookup</a></span>(<a href="../../freemarker/cache/TemplateLookupContext.html" title="class in freemarker.cache">TemplateLookupContext</a> ctx)</code> +<div class="block">Finds the template source that matches the template name, locale (if not <code>null</code>) and other parameters + specified in the <a href="../../freemarker/cache/TemplateLookupContext.html" title="class in freemarker.cache"><code>TemplateLookupContext</code></a>.</div> +</td> +</tr> +</table> +<ul class="blockList"> +<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object"> +<!-- --> +</a> +<h3>Methods inherited from class java.lang.<a href="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="DEFAULT_2_3_0"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>DEFAULT_2_3_0</h4> +<pre>public static final <a href="../../freemarker/cache/TemplateLookupStrategy.html" title="class in freemarker.cache">TemplateLookupStrategy</a> DEFAULT_2_3_0</pre> +<div class="block"><p> + The default lookup strategy of FreeMarker. + + <p> + Through an example: Assuming localized lookup is enabled and that a template is requested for the name + <code>example.ftl</code> and <code>Locale("es", "ES", "Traditional_WIN")</code>, it will try the following template names, + in this order: <code>"foo_en_AU_Traditional_WIN.ftl"</code>, <code>"foo_en_AU_Traditional.ftl"</code>, + <code>"foo_en_AU.ftl"</code>, <code>"foo_en.ftl"</code>, <code>"foo.ftl"</code>. It stops at the first variation where it finds + a template. (If the template name contains "*" steps, finding the template for the attempted localized variation + happens with the template acquisition mechanism.) If localized lookup is disabled, it won't try to add any locale + strings, so it just looks for <code>"foo.ftl"</code>. + + <p> + The generation of the localized name variation with the default lookup strategy, happens like this: It removes + the file extension (the part starting with the <em>last</em> dot), then appends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Locale.html?is-external=true#toString--" title="class or interface in java.util"><code>Locale.toString()</code></a> after + it, and puts back the extension. Then it starts to remove the parts from the end of the locale, considering + <code>"_"</code> as the separator between the parts. It won't remove parts that are not part of the locale string + (like if the requested template name is <code>foo_bar.ftl</code>, it won't remove the <code>"_bar"</code>).</div> +</li> +</ul> +</li> +</ul> +<!-- ========= CONSTRUCTOR DETAIL ======== --> +<ul class="blockList"> +<li class="blockList"><a name="constructor.detail"> +<!-- --> +</a> +<h3>Constructor Detail</h3> +<a name="TemplateLookupStrategy--"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>TemplateLookupStrategy</h4> +<pre>public TemplateLookupStrategy()</pre> +</li> +</ul> +</li> +</ul> +<!-- ============ METHOD DETAIL ========== --> +<ul class="blockList"> +<li class="blockList"><a name="method.detail"> +<!-- --> +</a> +<h3>Method Detail</h3> +<a name="lookup-freemarker.cache.TemplateLookupContext-"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>lookup</h4> +<pre>public abstract <a href="../../freemarker/cache/TemplateLookupResult.html" title="class in freemarker.cache">TemplateLookupResult</a> lookup(<a href="../../freemarker/cache/TemplateLookupContext.html" title="class in freemarker.cache">TemplateLookupContext</a> ctx) + throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> +<div class="block">Finds the template source that matches the template name, locale (if not <code>null</code>) and other parameters + specified in the <a href="../../freemarker/cache/TemplateLookupContext.html" title="class in freemarker.cache"><code>TemplateLookupContext</code></a>. See also the class-level <a href="../../freemarker/cache/TemplateLookupStrategy.html" title="class in freemarker.cache"><code>TemplateLookupStrategy</code></a> + documentation to understand lookup strategies more.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>ctx</code> - Contains the parameters for which the matching template need to be found, and operations that + are needed to implement the strategy. Some of the important input parameters are: + <a href="../../freemarker/cache/TemplateLookupContext.html#getTemplateName--"><code>TemplateLookupContext.getTemplateName()</code></a>, <a href="../../freemarker/cache/TemplateLookupContext.html#getTemplateLocale--"><code>TemplateLookupContext.getTemplateLocale()</code></a>. + The most important operations are <a href="../../freemarker/cache/TemplateLookupContext.html#lookupWithAcquisitionStrategy-java.lang.String-"><code>TemplateLookupContext.lookupWithAcquisitionStrategy(String)</code></a> + and <a href="../../freemarker/cache/TemplateLookupContext.html#createNegativeLookupResult--"><code>TemplateLookupContext.createNegativeLookupResult()</code></a>. (Note that you deliberately can't + use <a href="../../freemarker/cache/TemplateLoader.html" title="interface in freemarker.cache"><code>TemplateLoader</code></a>-s directly to implement lookup.)</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>Usually the return value of <a href="../../freemarker/cache/TemplateLookupContext.html#lookupWithAcquisitionStrategy-java.lang.String-"><code>TemplateLookupContext.lookupWithAcquisitionStrategy(String)</code></a>, or + <code>TemplateLookupContext#createNegativeLookupResult()</code> if no matching template exists. Can't be + <code>null</code>.</dd> +<dt><span class="throwsLabel">Throws:</span></dt> +<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></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/TemplateLookupStrategy.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="../../freemarker/cache/TemplateLookupResult.html" title="class in freemarker.cache"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../freemarker/cache/TemplateNameFormat.html" title="class in freemarker.cache"><span class="typeNameLink">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../index.html?freemarker/cache/TemplateLookupStrategy.html" target="_top">Frames</a></li> +<li><a href="TemplateLookupStrategy.html" target="_top">No Frames</a></li> +</ul> +<ul class="navList" id="allclasses_navbar_bottom"> +<li><a href="../../allclasses-noframe.html">All 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: </li> +<li>Nested | </li> +<li><a href="#field.summary">Field</a> | </li> +<li><a href="#constructor.summary">Constr</a> | </li> +<li><a href="#method.summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li><a href="#field.detail">Field</a> | </li> +<li><a href="#constructor.detail">Constr</a> | </li> +<li><a href="#method.detail">Method</a></li> +</ul> +</div> +<a name="skip.navbar.bottom"> +<!-- --> +</a></div> +<!-- ======== END OF BOTTOM NAVBAR ======= --> +</body> +</html> http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/b35e4aa5/builds/2.3.24-pre01/_html/api/freemarker/cache/TemplateNameFormat.html ---------------------------------------------------------------------- diff --git a/builds/2.3.24-pre01/_html/api/freemarker/cache/TemplateNameFormat.html b/builds/2.3.24-pre01/_html/api/freemarker/cache/TemplateNameFormat.html new file mode 100644 index 0000000..96671db --- /dev/null +++ b/builds/2.3.24-pre01/_html/api/freemarker/cache/TemplateNameFormat.html @@ -0,0 +1,319 @@ +<!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_20) on Wed Sep 02 01:20:16 CEST 2015 --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>TemplateNameFormat (FreeMarker 2.3.24-pre01 API)</title> +<meta name="date" content="2015-09-02"> +<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="TemplateNameFormat (FreeMarker 2.3.24-pre01 API)"; + } + } + catch(err) { + } +//--> +</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/TemplateNameFormat.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="../../freemarker/cache/TemplateLookupStrategy.html" title="class in freemarker.cache"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../freemarker/cache/TemplateSourceMatcher.html" title="class in freemarker.cache"><span class="typeNameLink">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../index.html?freemarker/cache/TemplateNameFormat.html" target="_top">Frames</a></li> +<li><a href="TemplateNameFormat.html" target="_top">No Frames</a></li> +</ul> +<ul class="navList" id="allclasses_navbar_top"> +<li><a href="../../allclasses-noframe.html">All 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: </li> +<li>Nested | </li> +<li><a href="#field.summary">Field</a> | </li> +<li>Constr | </li> +<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li><a href="#field.detail">Field</a> | </li> +<li>Constr | </li> +<li>Method</li> +</ul> +</div> +<a name="skip.navbar.top"> +<!-- --> +</a></div> +<!-- ========= END OF TOP NAVBAR ========= --> +<!-- ======== START OF CLASS DATA ======== --> +<div class="header"> +<div class="subTitle">freemarker.cache</div> +<h2 title="Class TemplateNameFormat" class="title">Class TemplateNameFormat</h2> +</div> +<div class="contentContainer"> +<ul class="inheritance"> +<li><a href="http://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>freemarker.cache.TemplateNameFormat</li> +</ul> +</li> +</ul> +<div class="description"> +<ul class="blockList"> +<li class="blockList"> +<hr> +<br> +<pre>public abstract class <span class="typeNameLabel">TemplateNameFormat</span> +extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre> +<div class="block">Symbolized template name format. The API of this class isn't exposed as it's too immature, so custom + template name formats aren't possible yet.</div> +<dl> +<dt><span class="simpleTagLabel">Since:</span></dt> +<dd>2.3.22</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"> </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>static <a href="../../freemarker/cache/TemplateNameFormat.html" title="class in freemarker.cache">TemplateNameFormat</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/cache/TemplateNameFormat.html#DEFAULT_2_3_0">DEFAULT_2_3_0</a></span></code> +<div class="block">The default template name format when <a href="../../freemarker/template/Configuration.html#Configuration-freemarker.template.Version-"><code>incompatible_improvements</code></a> is + below 2.4.0.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>static <a href="../../freemarker/cache/TemplateNameFormat.html" title="class in freemarker.cache">TemplateNameFormat</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/cache/TemplateNameFormat.html#DEFAULT_2_4_0">DEFAULT_2_4_0</a></span></code> +<div class="block">The default template name format only when <a href="../../freemarker/template/Configuration.html#Configuration-freemarker.template.Version-"><code>incompatible_improvements</code></a> + is set to 2.4.0 (or higher).</div> +</td> +</tr> +</table> +</li> +</ul> +<!-- ========== METHOD SUMMARY =========== --> +<ul class="blockList"> +<li class="blockList"><a name="method.summary"> +<!-- --> +</a> +<h3>Method Summary</h3> +<ul class="blockList"> +<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object"> +<!-- --> +</a> +<h3>Methods inherited from class java.lang.<a href="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="DEFAULT_2_3_0"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>DEFAULT_2_3_0</h4> +<pre>public static final <a href="../../freemarker/cache/TemplateNameFormat.html" title="class in freemarker.cache">TemplateNameFormat</a> DEFAULT_2_3_0</pre> +<div class="block">The default template name format when <a href="../../freemarker/template/Configuration.html#Configuration-freemarker.template.Version-"><code>incompatible_improvements</code></a> is + below 2.4.0. As of FreeMarker 2.4.0, the default <code>incompatible_improvements</code> is still <code>2.3.0</code>, and it + will certainly remain so for a very long time. In new projects it's highly recommended to use + <a href="../../freemarker/cache/TemplateNameFormat.html#DEFAULT_2_4_0"><code>DEFAULT_2_4_0</code></a> instead.</div> +</li> +</ul> +<a name="DEFAULT_2_4_0"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>DEFAULT_2_4_0</h4> +<pre>public static final <a href="../../freemarker/cache/TemplateNameFormat.html" title="class in freemarker.cache">TemplateNameFormat</a> DEFAULT_2_4_0</pre> +<div class="block">The default template name format only when <a href="../../freemarker/template/Configuration.html#Configuration-freemarker.template.Version-"><code>incompatible_improvements</code></a> + is set to 2.4.0 (or higher). This is not the out-of-the-box default format of FreeMarker 2.4.x, because the + default <code>incompatible_improvements</code> is still 2.3.0 there. + + <p> + Differences to the <a href="../../freemarker/cache/TemplateNameFormat.html#DEFAULT_2_3_0"><code>DEFAULT_2_3_0</code></a> format: + + <ul> + + <li>The scheme and the path need not be separated with <code>"://"</code> anymore, only with <code>":"</code>. This makes + template names like <code>"classpath:foo.ftl"</code> interpreted as an absolute name with scheme <code>"classpath"</code> + and absolute path "foo.ftl". The scheme name before the <code>":"</code> can't contain <code>"/"</code>, or else it's + treated as a malformed name. The scheme part can be separated either with <code>"://"</code> or just <code>":"</code> from + the path. Hence, <code>myschme:/x</code> is normalized to <code>myschme:x</code>, while <code>myschme:///x</code> is normalized + to <code>myschme://x</code>, but <code>myschme://x</code> or <code>myschme:/x</code> aren't changed by normalization. It's up + the <a href="../../freemarker/cache/TemplateLoader.html" title="interface in freemarker.cache"><code>TemplateLoader</code></a> to which the normalized names are passed to decide which of these scheme separation + conventions are valid (maybe both).</li> + + <li><code>":"</code> is not allowed in template names, except as the scheme separator (see previous point). + + <li>Malformed paths throw <a href="../../freemarker/template/MalformedTemplateNameException.html" title="class in freemarker.template"><code>MalformedTemplateNameException</code></a> instead of acting like if the template wasn't + found. + + <li><code>"\"</code> (backslash) is not allowed in template names, and causes <a href="../../freemarker/template/MalformedTemplateNameException.html" title="class in freemarker.template"><code>MalformedTemplateNameException</code></a>. + With <a href="../../freemarker/cache/TemplateNameFormat.html#DEFAULT_2_3_0"><code>DEFAULT_2_3_0</code></a> you would certainly end up with a <a href="../../freemarker/template/TemplateNotFoundException.html" title="class in freemarker.template"><code>TemplateNotFoundException</code></a> (or worse, + it would work, but steps like <code>".."</code> wouldn't be normalized by FreeMarker). + + <li>Template names might end with <code>/</code>, like <code>"foo/"</code>, and the presence or lack of the terminating + <code>/</code> is seen as significant. While their actual interpretation is up to the <a href="../../freemarker/cache/TemplateLoader.html" title="interface in freemarker.cache"><code>TemplateLoader</code></a>, + operations that manipulate template names assume that the last step refers to a "directory" as opposed to a + "file" exactly if the terminating <code>/</code> is present. Except, the empty name is assumed to refer to the root + "directory" (despite that it doesn't end with <code>/</code>). + + <li><code>//</code> is normalized to <code>/</code>, except of course if it's in the scheme name terminator. Like + <code>foo//bar///baaz.ftl</code> is normalized to <code>foo/bar/baaz.ftl</code>. (In general, 0 long step names aren't + possible anymore.)</li> + + <li>The <code>".."</code> bugs of the legacy normalizer are fixed: <code>".."</code> steps has removed the preceding + <code>"."</code> or <code>"*"</code> or scheme steps, not treating them specially as they should be. Now these work as + expected. Examples: <code>"a/./../c"</code> has become to <code>"a/c"</code>, now it will be <code>"c"</code>; <code>"a/b/*</code> + <code>/../c"</code> has become to <code>"a/b/c"</code>, now it will be <code>"a/*</code><code>/c"</code>; <code>"scheme://.."</code> has + become to <code>"scheme:/"</code>, now it will be <code>null</code> (<a href="../../freemarker/template/TemplateNotFoundException.html" title="class in freemarker.template"><code>TemplateNotFoundException</code></a>) for backing out of + the root directory.</li> + + <li>As now directory paths has to be handled as well, it recognizes terminating, leading, and lonely <code>".."</code> + and <code>"."</code> steps. For example, <code>"foo/bar/.."</code> now becomes to <code>"foo/"</code></li> + + <li>Multiple consecutive <code>*</code> steps are normalized to one</li> + + </ul></div> +</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/TemplateNameFormat.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="../../freemarker/cache/TemplateLookupStrategy.html" title="class in freemarker.cache"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../freemarker/cache/TemplateSourceMatcher.html" title="class in freemarker.cache"><span class="typeNameLink">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../index.html?freemarker/cache/TemplateNameFormat.html" target="_top">Frames</a></li> +<li><a href="TemplateNameFormat.html" target="_top">No Frames</a></li> +</ul> +<ul class="navList" id="allclasses_navbar_bottom"> +<li><a href="../../allclasses-noframe.html">All 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: </li> +<li>Nested | </li> +<li><a href="#field.summary">Field</a> | </li> +<li>Constr | </li> +<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li><a href="#field.detail">Field</a> | </li> +<li>Constr | </li> +<li>Method</li> +</ul> +</div> +<a name="skip.navbar.bottom"> +<!-- --> +</a></div> +<!-- ======== END OF BOTTOM NAVBAR ======= --> +</body> +</html> http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/b35e4aa5/builds/2.3.24-pre01/_html/api/freemarker/cache/TemplateSourceMatcher.html ---------------------------------------------------------------------- diff --git a/builds/2.3.24-pre01/_html/api/freemarker/cache/TemplateSourceMatcher.html b/builds/2.3.24-pre01/_html/api/freemarker/cache/TemplateSourceMatcher.html new file mode 100644 index 0000000..6888b4e --- /dev/null +++ b/builds/2.3.24-pre01/_html/api/freemarker/cache/TemplateSourceMatcher.html @@ -0,0 +1,246 @@ +<!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_20) on Wed Sep 02 01:20:16 CEST 2015 --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>TemplateSourceMatcher (FreeMarker 2.3.24-pre01 API)</title> +<meta name="date" content="2015-09-02"> +<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="TemplateSourceMatcher (FreeMarker 2.3.24-pre01 API)"; + } + } + catch(err) { + } +//--> +</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/TemplateSourceMatcher.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="../../freemarker/cache/TemplateNameFormat.html" title="class in freemarker.cache"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../freemarker/cache/URLTemplateLoader.html" title="class in freemarker.cache"><span class="typeNameLink">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../index.html?freemarker/cache/TemplateSourceMatcher.html" target="_top">Frames</a></li> +<li><a href="TemplateSourceMatcher.html" target="_top">No Frames</a></li> +</ul> +<ul class="navList" id="allclasses_navbar_top"> +<li><a href="../../allclasses-noframe.html">All 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: </li> +<li>Nested | </li> +<li>Field | </li> +<li><a href="#constructor.summary">Constr</a> | </li> +<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li>Field | </li> +<li><a href="#constructor.detail">Constr</a> | </li> +<li>Method</li> +</ul> +</div> +<a name="skip.navbar.top"> +<!-- --> +</a></div> +<!-- ========= END OF TOP NAVBAR ========= --> +<!-- ======== START OF CLASS DATA ======== --> +<div class="header"> +<div class="subTitle">freemarker.cache</div> +<h2 title="Class TemplateSourceMatcher" class="title">Class TemplateSourceMatcher</h2> +</div> +<div class="contentContainer"> +<ul class="inheritance"> +<li><a href="http://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>freemarker.cache.TemplateSourceMatcher</li> +</ul> +</li> +</ul> +<div class="description"> +<ul class="blockList"> +<li class="blockList"> +<dl> +<dt>Direct Known Subclasses:</dt> +<dd><a href="../../freemarker/cache/AndMatcher.html" title="class in freemarker.cache">AndMatcher</a>, <a href="../../freemarker/cache/FileExtensionMatcher.html" title="class in freemarker.cache">FileExtensionMatcher</a>, <a href="../../freemarker/cache/FileNameGlobMatcher.html" title="class in freemarker.cache">FileNameGlobMatcher</a>, <a href="../../freemarker/cache/NotMatcher.html" title="class in freemarker.cache">NotMatcher</a>, <a href="../../freemarker/cache/OrMatcher.html" title="class in freemarker.cache">OrMatcher</a>, <a href="../../freemarker/cache/PathGlobMatcher.html" title="class in freemarker.cache">PathGlobMatcher</a>, <a href="../../freemarker/cache/PathRegexMatcher.html" title="class in freemarker.cache">PathRegexMatcher</a></dd> +</dl> +<hr> +<br> +<pre>public abstract class <span class="typeNameLabel">TemplateSourceMatcher</span> +extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre> +<dl> +<dt><span class="simpleTagLabel">Since:</span></dt> +<dd>2.3.24</dd> +</dl> +</li> +</ul> +</div> +<div class="summary"> +<ul class="blockList"> +<li class="blockList"> +<!-- ======== 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"> </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="../../freemarker/cache/TemplateSourceMatcher.html#TemplateSourceMatcher--">TemplateSourceMatcher</a></span>()</code> </td> +</tr> +</table> +</li> +</ul> +<!-- ========== METHOD SUMMARY =========== --> +<ul class="blockList"> +<li class="blockList"><a name="method.summary"> +<!-- --> +</a> +<h3>Method Summary</h3> +<ul class="blockList"> +<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object"> +<!-- --> +</a> +<h3>Methods inherited from class java.lang.<a href="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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"> +<!-- ========= CONSTRUCTOR DETAIL ======== --> +<ul class="blockList"> +<li class="blockList"><a name="constructor.detail"> +<!-- --> +</a> +<h3>Constructor Detail</h3> +<a name="TemplateSourceMatcher--"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>TemplateSourceMatcher</h4> +<pre>public TemplateSourceMatcher()</pre> +</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/TemplateSourceMatcher.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="../../freemarker/cache/TemplateNameFormat.html" title="class in freemarker.cache"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../freemarker/cache/URLTemplateLoader.html" title="class in freemarker.cache"><span class="typeNameLink">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../index.html?freemarker/cache/TemplateSourceMatcher.html" target="_top">Frames</a></li> +<li><a href="TemplateSourceMatcher.html" target="_top">No Frames</a></li> +</ul> +<ul class="navList" id="allclasses_navbar_bottom"> +<li><a href="../../allclasses-noframe.html">All 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: </li> +<li>Nested | </li> +<li>Field | </li> +<li><a href="#constructor.summary">Constr</a> | </li> +<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li>Field | </li> +<li><a href="#constructor.detail">Constr</a> | </li> +<li>Method</li> +</ul> +</div> +<a name="skip.navbar.bottom"> +<!-- --> +</a></div> +<!-- ======== END OF BOTTOM NAVBAR ======= --> +</body> +</html>