blob: 8c1101069c9cf858e7ca3c346107de44144eb5d9 [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>LegacyDefaultMemberAccessPolicy (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="LegacyDefaultMemberAccessPolicy (FreeMarker 2.3.32 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":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/LegacyDefaultMemberAccessPolicy.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/ext/beans/IteratorModel.html" title="class in freemarker.ext.beans"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../freemarker/ext/beans/MapModel.html" title="class in freemarker.ext.beans"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?freemarker/ext/beans/LegacyDefaultMemberAccessPolicy.html" target="_top">Frames</a></li>
<li><a href="LegacyDefaultMemberAccessPolicy.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>Constr&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>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.ext.beans</div>
<h2 title="Class LegacyDefaultMemberAccessPolicy" class="title">Class LegacyDefaultMemberAccessPolicy</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>freemarker.ext.beans.LegacyDefaultMemberAccessPolicy</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../freemarker/ext/beans/MemberAccessPolicy.html" title="interface in freemarker.ext.beans">MemberAccessPolicy</a></dd>
</dl>
<hr>
<br>
<pre>public final class <span class="typeNameLabel">LegacyDefaultMemberAccessPolicy</span>
extends java.lang.Object
implements <a href="../../../freemarker/ext/beans/MemberAccessPolicy.html" title="interface in freemarker.ext.beans">MemberAccessPolicy</a></pre>
<div class="block">Legacy blacklist based member access policy, used only to keep old behavior, as it can't provide meaningful safety.
Do not use it if you allow untrusted users to edit templates! Use <a href="../../../freemarker/ext/beans/WhitelistMemberAccessPolicy.html" title="class in freemarker.ext.beans"><code>WhitelistMemberAccessPolicy</code></a> then.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.30</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>static <a href="../../../freemarker/ext/beans/LegacyDefaultMemberAccessPolicy.html" title="class in freemarker.ext.beans">LegacyDefaultMemberAccessPolicy</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/beans/LegacyDefaultMemberAccessPolicy.html#INSTANCE">INSTANCE</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><a href="../../../freemarker/ext/beans/ClassMemberAccessPolicy.html" title="interface in freemarker.ext.beans">ClassMemberAccessPolicy</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/beans/LegacyDefaultMemberAccessPolicy.html#forClass-java.lang.Class-">forClass</a></span>(java.lang.Class&lt;?&gt;&nbsp;containingClass)</code>
<div class="block">Returns the <a href="../../../freemarker/ext/beans/ClassMemberAccessPolicy.html" title="interface in freemarker.ext.beans"><code>ClassMemberAccessPolicy</code></a> that encapsulates the member access policy for a given class.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/beans/LegacyDefaultMemberAccessPolicy.html#isToStringAlwaysExposed--">isToStringAlwaysExposed</a></span>()</code>
<div class="block">If this returns <code>true</code>, we won't invoke the probably more expensive lookup to figure out if
<code>Object.toString()</code> (including its overridden variants) is exposed for a given object.</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&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</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="INSTANCE">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>INSTANCE</h4>
<pre>public static final&nbsp;<a href="../../../freemarker/ext/beans/LegacyDefaultMemberAccessPolicy.html" title="class in freemarker.ext.beans">LegacyDefaultMemberAccessPolicy</a> INSTANCE</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="forClass-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>forClass</h4>
<pre>public&nbsp;<a href="../../../freemarker/ext/beans/ClassMemberAccessPolicy.html" title="interface in freemarker.ext.beans">ClassMemberAccessPolicy</a>&nbsp;forClass(java.lang.Class&lt;?&gt;&nbsp;containingClass)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../freemarker/ext/beans/MemberAccessPolicy.html#forClass-java.lang.Class-">MemberAccessPolicy</a></code></span></div>
<div class="block">Returns the <a href="../../../freemarker/ext/beans/ClassMemberAccessPolicy.html" title="interface in freemarker.ext.beans"><code>ClassMemberAccessPolicy</code></a> that encapsulates the member access policy for a given class.
<a href="../../../freemarker/ext/beans/ClassMemberAccessPolicy.html" title="interface in freemarker.ext.beans"><code>ClassMemberAccessPolicy</code></a> implementations need not be thread-safe. Because class introspection results are
cached, and so this method is usually only called once for a given class, the <a href="../../../freemarker/ext/beans/ClassMemberAccessPolicy.html" title="interface in freemarker.ext.beans"><code>ClassMemberAccessPolicy</code></a>
instances shouldn't be cached by the implementation of this method.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../freemarker/ext/beans/MemberAccessPolicy.html#forClass-java.lang.Class-">forClass</a></code>&nbsp;in interface&nbsp;<code><a href="../../../freemarker/ext/beans/MemberAccessPolicy.html" title="interface in freemarker.ext.beans">MemberAccessPolicy</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>containingClass</code> - The exact class of object from which members will be get in the templates.</dd>
</dl>
</li>
</ul>
<a name="isToStringAlwaysExposed--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>isToStringAlwaysExposed</h4>
<pre>public&nbsp;boolean&nbsp;isToStringAlwaysExposed()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../freemarker/ext/beans/MemberAccessPolicy.html#isToStringAlwaysExposed--">MemberAccessPolicy</a></code></span></div>
<div class="block">If this returns <code>true</code>, we won't invoke the probably more expensive lookup to figure out if
<code>Object.toString()</code> (including its overridden variants) is exposed for a given object. If this returns
<code>false</code>, then no such optimization is made. This method was introduced as <code>Object.toString()</code> is
called frequently, as it's used whenever an object is converted to string, like printed to the output, and it's
not even a reflection-based call (we just call <code>Object.toString()</code> in Java). So we try to avoid the
overhead of a more generic method call.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../freemarker/ext/beans/MemberAccessPolicy.html#isToStringAlwaysExposed--">isToStringAlwaysExposed</a></code>&nbsp;in interface&nbsp;<code><a href="../../../freemarker/ext/beans/MemberAccessPolicy.html" title="interface in freemarker.ext.beans">MemberAccessPolicy</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/LegacyDefaultMemberAccessPolicy.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/ext/beans/IteratorModel.html" title="class in freemarker.ext.beans"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../freemarker/ext/beans/MapModel.html" title="class in freemarker.ext.beans"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?freemarker/ext/beans/LegacyDefaultMemberAccessPolicy.html" target="_top">Frames</a></li>
<li><a href="LegacyDefaultMemberAccessPolicy.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>Constr&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>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>