blob: e1f538a7133b947b73870014012d97c95f7175bd [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_281) on Sun Jan 15 15:58:35 CET 2023 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>TemplateMethodModel (FreeMarker 2.3.32 API)</title>
<meta name="date" content="2023-01-15">
<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="TemplateMethodModel (FreeMarker 2.3.32 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":38};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],32:["t6","Deprecated 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/TemplateMethodModel.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/template/TemplateHashModelEx2.KeyValuePairIterator.html" title="interface in freemarker.template"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../freemarker/template/TemplateMethodModelEx.html" title="interface in freemarker.template"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?freemarker/template/TemplateMethodModel.html" target="_top">Frames</a></li>
<li><a href="TemplateMethodModel.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>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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">freemarker.template</div>
<h2 title="Interface TemplateMethodModel" class="title">Interface TemplateMethodModel</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../freemarker/template/TemplateModel.html" title="interface in freemarker.template">TemplateModel</a></dd>
</dl>
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><a href="../../freemarker/template/TemplateMethodModelEx.html" title="interface in freemarker.template">TemplateMethodModelEx</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../freemarker/template/utility/Execute.html" title="class in freemarker.template.utility">Execute</a>, <a href="../../freemarker/ext/jython/JythonHashModel.html" title="class in freemarker.ext.jython">JythonHashModel</a>, <a href="../../freemarker/ext/jython/JythonModel.html" title="class in freemarker.ext.jython">JythonModel</a>, <a href="../../freemarker/ext/jython/JythonNumberModel.html" title="class in freemarker.ext.jython">JythonNumberModel</a>, <a href="../../freemarker/ext/jython/JythonSequenceModel.html" title="class in freemarker.ext.jython">JythonSequenceModel</a>, <a href="../../freemarker/ext/beans/MapModel.html" title="class in freemarker.ext.beans">MapModel</a>, <a href="../../freemarker/ext/jdom/NodeListModel.html" title="class in freemarker.ext.jdom">NodeListModel</a>, <a href="../../freemarker/ext/xml/NodeListModel.html" title="class in freemarker.ext.xml">NodeListModel</a>, <a href="../../freemarker/template/utility/ObjectConstructor.html" title="class in freemarker.template.utility">ObjectConstructor</a>, <a href="../../freemarker/ext/beans/OverloadedMethodsModel.html" title="class in freemarker.ext.beans">OverloadedMethodsModel</a>, <a href="../../freemarker/ext/beans/ResourceBundleModel.html" title="class in freemarker.ext.beans">ResourceBundleModel</a>, <a href="../../freemarker/ext/rhino/RhinoFunctionModel.html" title="class in freemarker.ext.rhino">RhinoFunctionModel</a>, <a href="../../freemarker/ext/beans/SimpleMapModel.html" title="class in freemarker.ext.beans">SimpleMapModel</a>, <a href="../../freemarker/ext/beans/SimpleMethodModel.html" title="class in freemarker.ext.beans">SimpleMethodModel</a></dd>
</dl>
<hr>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">Use <a href="../../freemarker/template/TemplateMethodModelEx.html" title="interface in freemarker.template"><code>TemplateMethodModelEx</code></a> instead. This interface is from the old times when the only kind of
value you could pass in was string.</span></div>
</div>
<br>
<pre>@Deprecated
public interface <span class="typeNameLabel">TemplateMethodModel</span>
extends <a href="../../freemarker/template/TemplateModel.html" title="interface in freemarker.template">TemplateModel</a></pre>
<div class="block">"method" template language data type: Objects that act like functions. The name comes from that their original
application was calling Java methods via <a href="../../freemarker/ext/beans/BeansWrapper.html" title="class in freemarker.ext.beans"><code>BeansWrapper</code></a>.
<p>In templates they are used like <code>myMethod("foo", "bar")</code> or <code>myJavaObject.myJavaMethod("foo", "bar")</code>.</div>
</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>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.freemarker.template.TemplateModel">
<!-- -->
</a>
<h3>Fields inherited from interface&nbsp;freemarker.template.<a href="../../freemarker/template/TemplateModel.html" title="interface in freemarker.template">TemplateModel</a></h3>
<code><a href="../../freemarker/template/TemplateModel.html#NOTHING">NOTHING</a></code></li>
</ul>
</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="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated 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>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/TemplateMethodModel.html#exec-java.util.List-">exec</a></span>(java.util.List&nbsp;arguments)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
<div class="block">Executes the method call.</div>
</td>
</tr>
</table>
</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="exec-java.util.List-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>exec</h4>
<pre>java.lang.Object&nbsp;exec(java.util.List&nbsp;arguments)
throws <a href="../../freemarker/template/TemplateModelException.html" title="class in freemarker.template">TemplateModelException</a></pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
<div class="block">Executes the method call. All arguments passed to the method call are
coerced to strings before being passed, if the FreeMarker rules allow
the coercion. If some of the passed arguments can not be coerced to a
string, an exception will be raised in the engine and the method will
not be called. If your method would like to act on actual data model
objects instead of on their string representations, implement the
<a href="../../freemarker/template/TemplateMethodModelEx.html" title="interface in freemarker.template"><code>TemplateMethodModelEx</code></a> instead.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>arguments</code> - a <tt>List</tt> of <tt>String</tt> objects
containing the values of the arguments passed to the method.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the return value of the method, or <code>null</code>. If the returned value
does not implement <a href="../../freemarker/template/TemplateModel.html" title="interface in freemarker.template"><code>TemplateModel</code></a>, it will be automatically
wrapped using the <a href="../../freemarker/core/Configurable.html#getObjectWrapper--"><code>environment
object wrapper</code></a>.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../freemarker/template/TemplateModelException.html" title="class in freemarker.template">TemplateModelException</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/TemplateMethodModel.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/template/TemplateHashModelEx2.KeyValuePairIterator.html" title="interface in freemarker.template"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../freemarker/template/TemplateMethodModelEx.html" title="interface in freemarker.template"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?freemarker/template/TemplateMethodModel.html" target="_top">Frames</a></li>
<li><a href="TemplateMethodModel.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>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>