blob: d7cdb1306179ff8fa5db1909b70899ee79f355c5 [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_252) on Fri Jul 16 09:39:04 UTC 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>CacheInvalidationPolicy (EclipseLink 3.0.2, API Reference)</title>
<meta name="date" content="2021-07-16">
<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="CacheInvalidationPolicy (EclipseLink 3.0.2, API Reference)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":6,"i2":10,"i3":10,"i4":10,"i5":6,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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="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 class="aboutLanguage">EclipseLink 3.0.2, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../org/eclipse/persistence/descriptors/invalidation/DailyCacheInvalidationPolicy.html" title="class in org.eclipse.persistence.descriptors.invalidation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/persistence/descriptors/invalidation/CacheInvalidationPolicy.html" target="_top">Frames</a></li>
<li><a href="CacheInvalidationPolicy.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.eclipse.persistence.descriptors.invalidation</div>
<h2 title="Class CacheInvalidationPolicy" class="title">Class CacheInvalidationPolicy</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.eclipse.persistence.descriptors.invalidation.CacheInvalidationPolicy</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../org/eclipse/persistence/descriptors/invalidation/DailyCacheInvalidationPolicy.html" title="class in org.eclipse.persistence.descriptors.invalidation">DailyCacheInvalidationPolicy</a>, <a href="../../../../../org/eclipse/persistence/descriptors/invalidation/NoExpiryCacheInvalidationPolicy.html" title="class in org.eclipse.persistence.descriptors.invalidation">NoExpiryCacheInvalidationPolicy</a>, <a href="../../../../../org/eclipse/persistence/descriptors/invalidation/TimeToLiveCacheInvalidationPolicy.html" title="class in org.eclipse.persistence.descriptors.invalidation">TimeToLiveCacheInvalidationPolicy</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">CacheInvalidationPolicy</span>
extends <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>
implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a></pre>
<div class="block">PUBLIC:
A CacheInvalidationPolicy is used to set objects in TopLink's identity maps to be invalid
following given rules. CacheInvalidationPolicy is the abstract superclass for all
policies used for cache invalidation.
By default in EclipseLink, objects do not expire in the cache. Several different policies
are available to allow objects to expire. These can be set on the ClassDescriptor.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors"><code>ClassDescriptor</code></a>,
<a href="../../../../../org/eclipse/persistence/descriptors/invalidation/NoExpiryCacheInvalidationPolicy.html" title="class in org.eclipse.persistence.descriptors.invalidation"><code>NoExpiryCacheInvalidationPolicy</code></a>,
<a href="../../../../../org/eclipse/persistence/descriptors/invalidation/DailyCacheInvalidationPolicy.html" title="class in org.eclipse.persistence.descriptors.invalidation"><code>DailyCacheInvalidationPolicy</code></a>,
<a href="../../../../../org/eclipse/persistence/descriptors/invalidation/TimeToLiveCacheInvalidationPolicy.html" title="class in org.eclipse.persistence.descriptors.invalidation"><code>TimeToLiveCacheInvalidationPolicy</code></a>,
<a href="../../../../../serialized-form.html#org.eclipse.persistence.descriptors.invalidation.CacheInvalidationPolicy">Serialized Form</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 boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/descriptors/invalidation/CacheInvalidationPolicy.html#isInvalidationRandomized">isInvalidationRandomized</a></span></code>
<div class="block">Allows the timeToLive to be randomized to avoid bottlenecks.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/descriptors/invalidation/CacheInvalidationPolicy.html#NO_EXPIRY">NO_EXPIRY</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/Random.html?is-external=true" title="class or interface in java.util">Random</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/descriptors/invalidation/CacheInvalidationPolicy.html#random">random</a></span></code>
<div class="block">Random used for randomized invalidation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/descriptors/invalidation/CacheInvalidationPolicy.html#shouldRefreshInvalidObjectsOnClone">shouldRefreshInvalidObjectsOnClone</a></span></code>
<div class="block">Determines if expired object registered in the unit of work should be refreshed, default true.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/descriptors/invalidation/CacheInvalidationPolicy.html#shouldUpdateReadTimeOnUpdate">shouldUpdateReadTimeOnUpdate</a></span></code>
<div class="block">This will represent objects that do not expire.</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">&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/eclipse/persistence/descriptors/invalidation/CacheInvalidationPolicy.html#CacheInvalidationPolicy--">CacheInvalidationPolicy</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="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract 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="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/descriptors/invalidation/CacheInvalidationPolicy.html#clone--">clone</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>abstract long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/descriptors/invalidation/CacheInvalidationPolicy.html#getExpiryTimeInMillis-org.eclipse.persistence.internal.identitymaps.CacheKey-">getExpiryTimeInMillis</a></span>(org.eclipse.persistence.internal.identitymaps.CacheKey&nbsp;key)</code>
<div class="block">INTERNAL:
Get the next time when this object will become invalid</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/descriptors/invalidation/CacheInvalidationPolicy.html#getRemainingValidTime-org.eclipse.persistence.internal.identitymaps.CacheKey-">getRemainingValidTime</a></span>(org.eclipse.persistence.internal.identitymaps.CacheKey&nbsp;key)</code>
<div class="block">INTERNAL:
Return the remaining life of this object</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/descriptors/invalidation/CacheInvalidationPolicy.html#initialize-org.eclipse.persistence.descriptors.ClassDescriptor-org.eclipse.persistence.internal.sessions.AbstractSession-">initialize</a></span>(<a href="../../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&nbsp;descriptor,
org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session)</code>
<div class="block">INTERNAL:
Allow initialization with the descriptor.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/descriptors/invalidation/CacheInvalidationPolicy.html#isInvalidated-org.eclipse.persistence.internal.identitymaps.CacheKey-">isInvalidated</a></span>(org.eclipse.persistence.internal.identitymaps.CacheKey&nbsp;key)</code>
<div class="block">INTERNAL:
return true if this object is expire, false otherwise.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/descriptors/invalidation/CacheInvalidationPolicy.html#isInvalidated-org.eclipse.persistence.internal.identitymaps.CacheKey-long-">isInvalidated</a></span>(org.eclipse.persistence.internal.identitymaps.CacheKey&nbsp;key,
long&nbsp;currentTimeMillis)</code>
<div class="block">INTERNAL:
return true if this object is expire, false otherwise.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/descriptors/invalidation/CacheInvalidationPolicy.html#isInvalidationRandomized--">isInvalidationRandomized</a></span>()</code>
<div class="block">PUBLIC:
Allows the timeToLive to be randomized to avoid bottlenecks.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/descriptors/invalidation/CacheInvalidationPolicy.html#setIsInvalidationRandomized-boolean-">setIsInvalidationRandomized</a></span>(boolean&nbsp;isInvalidationRandomized)</code>
<div class="block">PUBLIC:
Allows the timeToLive to be randomized to avoid bottlenecks.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/descriptors/invalidation/CacheInvalidationPolicy.html#setShouldRefreshInvalidObjectsOnClone-boolean-">setShouldRefreshInvalidObjectsOnClone</a></span>(boolean&nbsp;shouldRefreshInvalidObjectsOnClone)</code>
<div class="block">PUBLIC:
Set if expired object should be refreshed prior to cloning, default is true.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/descriptors/invalidation/CacheInvalidationPolicy.html#setShouldUpdateReadTimeOnUpdate-boolean-">setShouldUpdateReadTimeOnUpdate</a></span>(boolean&nbsp;shouldUpdateReadTime)</code>
<div class="block">PUBLIC:
Set whether to update the stored time an object was read when an object is updated.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/descriptors/invalidation/CacheInvalidationPolicy.html#shouldRefreshInvalidObjectsOnClone--">shouldRefreshInvalidObjectsOnClone</a></span>()</code>
<div class="block">PUBLIC:
Return if expired object should be refreshed prior to cloning.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/descriptors/invalidation/CacheInvalidationPolicy.html#shouldUpdateReadTimeOnUpdate--">shouldUpdateReadTimeOnUpdate</a></span>()</code>
<div class="block">PUBLIC:
Return whether objects affected by this CacheInvalidationPolicy should have
the read time on their cache keys updated when an update occurs.</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.<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#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="NO_EXPIRY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>NO_EXPIRY</h4>
<pre>public static final&nbsp;long NO_EXPIRY</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.eclipse.persistence.descriptors.invalidation.CacheInvalidationPolicy.NO_EXPIRY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="shouldUpdateReadTimeOnUpdate">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldUpdateReadTimeOnUpdate</h4>
<pre>protected&nbsp;boolean shouldUpdateReadTimeOnUpdate</pre>
<div class="block">This will represent objects that do not expire.</div>
</li>
</ul>
<a name="shouldRefreshInvalidObjectsOnClone">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldRefreshInvalidObjectsOnClone</h4>
<pre>protected&nbsp;boolean shouldRefreshInvalidObjectsOnClone</pre>
<div class="block">Determines if expired object registered in the unit of work should be refreshed, default true.</div>
</li>
</ul>
<a name="isInvalidationRandomized">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isInvalidationRandomized</h4>
<pre>protected&nbsp;boolean isInvalidationRandomized</pre>
<div class="block">Allows the timeToLive to be randomized to avoid bottlenecks.</div>
</li>
</ul>
<a name="random">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>random</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> random</pre>
<div class="block">Random used for randomized invalidation.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="CacheInvalidationPolicy--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>CacheInvalidationPolicy</h4>
<pre>public&nbsp;CacheInvalidationPolicy()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="isInvalidationRandomized--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isInvalidationRandomized</h4>
<pre>public&nbsp;boolean&nbsp;isInvalidationRandomized()</pre>
<div class="block">PUBLIC:
Allows the timeToLive to be randomized to avoid bottlenecks.</div>
</li>
</ul>
<a name="setIsInvalidationRandomized-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIsInvalidationRandomized</h4>
<pre>public&nbsp;void&nbsp;setIsInvalidationRandomized(boolean&nbsp;isInvalidationRandomized)</pre>
<div class="block">PUBLIC:
Allows the timeToLive to be randomized to avoid bottlenecks.</div>
</li>
</ul>
<a name="getExpiryTimeInMillis-org.eclipse.persistence.internal.identitymaps.CacheKey-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExpiryTimeInMillis</h4>
<pre>public abstract&nbsp;long&nbsp;getExpiryTimeInMillis(org.eclipse.persistence.internal.identitymaps.CacheKey&nbsp;key)</pre>
<div class="block">INTERNAL:
Get the next time when this object will become invalid</div>
</li>
</ul>
<a name="getRemainingValidTime-org.eclipse.persistence.internal.identitymaps.CacheKey-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRemainingValidTime</h4>
<pre>public&nbsp;long&nbsp;getRemainingValidTime(org.eclipse.persistence.internal.identitymaps.CacheKey&nbsp;key)</pre>
<div class="block">INTERNAL:
Return the remaining life of this object</div>
</li>
</ul>
<a name="initialize-org.eclipse.persistence.descriptors.ClassDescriptor-org.eclipse.persistence.internal.sessions.AbstractSession-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initialize</h4>
<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&nbsp;descriptor,
org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session)</pre>
<div class="block">INTERNAL:
Allow initialization with the descriptor.</div>
</li>
</ul>
<a name="isInvalidated-org.eclipse.persistence.internal.identitymaps.CacheKey-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isInvalidated</h4>
<pre>public&nbsp;boolean&nbsp;isInvalidated(org.eclipse.persistence.internal.identitymaps.CacheKey&nbsp;key)</pre>
<div class="block">INTERNAL:
return true if this object is expire, false otherwise.</div>
</li>
</ul>
<a name="isInvalidated-org.eclipse.persistence.internal.identitymaps.CacheKey-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isInvalidated</h4>
<pre>public abstract&nbsp;boolean&nbsp;isInvalidated(org.eclipse.persistence.internal.identitymaps.CacheKey&nbsp;key,
long&nbsp;currentTimeMillis)</pre>
<div class="block">INTERNAL:
return true if this object is expire, false otherwise.</div>
</li>
</ul>
<a name="setShouldUpdateReadTimeOnUpdate-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setShouldUpdateReadTimeOnUpdate</h4>
<pre>public&nbsp;void&nbsp;setShouldUpdateReadTimeOnUpdate(boolean&nbsp;shouldUpdateReadTime)</pre>
<div class="block">PUBLIC:
Set whether to update the stored time an object was read when an object is updated.
When the read time is updated, it indicates to EclipseLink that the data in the object
is up to date. This means that cache invalidation checks will occur relative to the
new read time.
By default, the read time will not be updated when an object is updated.
Often it is possible to be confident that the object is up to date after an update
because otherwise the update will fail because of the locking policies in use.</div>
</li>
</ul>
<a name="shouldUpdateReadTimeOnUpdate--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldUpdateReadTimeOnUpdate</h4>
<pre>public&nbsp;boolean&nbsp;shouldUpdateReadTimeOnUpdate()</pre>
<div class="block">PUBLIC:
Return whether objects affected by this CacheInvalidationPolicy should have
the read time on their cache keys updated when an update occurs.</div>
</li>
</ul>
<a name="setShouldRefreshInvalidObjectsOnClone-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setShouldRefreshInvalidObjectsOnClone</h4>
<pre>public&nbsp;void&nbsp;setShouldRefreshInvalidObjectsOnClone(boolean&nbsp;shouldRefreshInvalidObjectsOnClone)</pre>
<div class="block">PUBLIC:
Set if expired object should be refreshed prior to cloning, default is true. Applies to Protected Entities and UnitOfWork registration.</div>
</li>
</ul>
<a name="shouldRefreshInvalidObjectsOnClone--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldRefreshInvalidObjectsOnClone</h4>
<pre>public&nbsp;boolean&nbsp;shouldRefreshInvalidObjectsOnClone()</pre>
<div class="block">PUBLIC:
Return if expired object should be refreshed prior to cloning. Applies to Protected Entities and UnitOfWork registration.</div>
</li>
</ul>
<a name="clone--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>clone</h4>
<pre>public&nbsp;<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>&nbsp;clone()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><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></code>&nbsp;in class&nbsp;<code><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></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="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 class="aboutLanguage">EclipseLink 3.0.2, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../org/eclipse/persistence/descriptors/invalidation/DailyCacheInvalidationPolicy.html" title="class in org.eclipse.persistence.descriptors.invalidation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/persistence/descriptors/invalidation/CacheInvalidationPolicy.html" target="_top">Frames</a></li>
<li><a href="CacheInvalidationPolicy.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; 2007&#x2013;2021 <a href="http://www.eclipse.org/eclipselink">Eclipse.org - EclipseLink Project</a>. All rights reserved.</small></p>
</body>
</html>