blob: 8748624ef4870d544cbb541a700e13f9e1821154 [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) on Sun Aug 28 20:42:12 EST 2016 -->
<title>ServiceDiscoveryManager.LookupCacheImpl (Apache River v3.0.0 API Documentation (internals))</title>
<meta name="date" content="2016-08-28">
<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="ServiceDiscoveryManager.LookupCacheImpl (Apache River v3.0.0 API Documentation (internals))";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":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/ServiceDiscoveryManager.LookupCacheImpl.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="../../../net/jini/lookup/ServiceDiscoveryManager.LeaseListenerImpl.html" title="class in net.jini.lookup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.LookupListener.html" title="class in net.jini.lookup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html" target="_top">Frames</a></li>
<li><a href="ServiceDiscoveryManager.LookupCacheImpl.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><a href="#nested.class.summary">Nested</a>&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">net.jini.lookup</div>
<h2 title="Class ServiceDiscoveryManager.LookupCacheImpl" class="title">Class ServiceDiscoveryManager.LookupCacheImpl</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/6/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>net.jini.lookup.ServiceDiscoveryManager.LookupCacheImpl</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../net/jini/lookup/LookupCache.html" title="interface in net.jini.lookup">LookupCache</a></dd>
</dl>
<dl>
<dt>Enclosing class:</dt>
<dd><a href="../../../net/jini/lookup/ServiceDiscoveryManager.html" title="class in net.jini.lookup">ServiceDiscoveryManager</a></dd>
</dl>
<hr>
<br>
<pre>private static final class <span class="typeNameLabel">ServiceDiscoveryManager.LookupCacheImpl</span>
extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../net/jini/lookup/LookupCache.html" title="interface in net.jini.lookup">LookupCache</a></pre>
<div class="block">Internal implementation of the LookupCache interface. Instances of this
class are used in the blocking versions of lookup() and are returned by
createLookupCache.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.LookupListener.html" title="class in net.jini.lookup">ServiceDiscoveryManager.LookupCacheImpl.LookupListener</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.ProxyRegDropTask.html" title="class in net.jini.lookup">ServiceDiscoveryManager.LookupCacheImpl.ProxyRegDropTask</a></span></code>
<div class="block">When the given registrar is discarded, this Task class is used to
remove the registrar from the various maps maintained by this cache.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.RegisterListenerTask.html" title="class in net.jini.lookup">ServiceDiscoveryManager.LookupCacheImpl.RegisterListenerTask</a></span></code>
<div class="block">This task class, when executed, first registers to receive
ServiceEvents from the given ServiceRegistrar.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.ServiceDiscardTimerTask.html" title="class in net.jini.lookup">ServiceDiscoveryManager.LookupCacheImpl.ServiceDiscardTimerTask</a></span></code>
<div class="block">Task class used to determine whether or not to "commit" a service
discard request, increasing the chances that the service will
eventually be re-discovered.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.ServiceNotifyDo.html" title="class in net.jini.lookup">ServiceDiscoveryManager.LookupCacheImpl.ServiceNotifyDo</a></span></code>
<div class="block">Common code for performing service notification to one listener in
an executor task thread.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- =========== 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>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#bCacheTerminated">bCacheTerminated</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../net/jini/lookup/ServiceDiscoveryManager.CacheTaskDependencyManager.html" title="class in net.jini.lookup">ServiceDiscoveryManager.CacheTaskDependencyManager</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#cacheTaskDepMgr">cacheTaskDepMgr</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent.ExecutorService.html?is-external=true" title="class or interface in java.util">java.util.concurrent.ExecutorService</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#cacheTaskMgr">cacheTaskMgr</a></span></code>
<div class="block">Task manager for the various tasks executed by this LookupCache</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent.ExecutorService.html?is-external=true" title="class or interface in java.util">java.util.concurrent.ExecutorService</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#eventNotificationExecutor">eventNotificationExecutor</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent.ConcurrentMap.html?is-external=true" title="class or interface in java.util">java.util.concurrent.ConcurrentMap</a>&lt;<a href="../../../net/jini/lookup/ServiceDiscoveryManager.ProxyReg.html" title="class in net.jini.lookup">ServiceDiscoveryManager.ProxyReg</a>,<a href="../../../net/jini/lookup/ServiceDiscoveryManager.EventReg.html" title="class in net.jini.lookup">ServiceDiscoveryManager.EventReg</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#eventRegMap">eventRegMap</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../net/jini/lookup/ServiceItemFilter.html" title="interface in net.jini.lookup">ServiceItemFilter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#filter">filter</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#ITEM_ADDED">ITEM_ADDED</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#ITEM_CHANGED">ITEM_CHANGED</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#ITEM_REMOVED">ITEM_REMOVED</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#leaseDuration">leaseDuration</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.LookupListener.html" title="class in net.jini.lookup">ServiceDiscoveryManager.LookupCacheImpl.LookupListener</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#lookupListener">lookupListener</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../net/jini/export/Exporter.html" title="interface in net.jini.export">Exporter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#lookupListenerExporter">lookupListenerExporter</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../../net/jini/core/event/RemoteEventListener.html" title="interface in net.jini.core.event">RemoteEventListener</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#lookupListenerProxy">lookupListenerProxy</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../net/jini/lookup/ServiceDiscoveryManager.html" title="class in net.jini.lookup">ServiceDiscoveryManager</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#sdm">sdm</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent.ConcurrentMap.html?is-external=true" title="class or interface in java.util">java.util.concurrent.ConcurrentMap</a>&lt;<a href="../../../net/jini/core/lookup/ServiceID.html" title="class in net.jini.core.lookup">ServiceID</a>,<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent.Future.html?is-external=true" title="class or interface in java.util">java.util.concurrent.Future</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#serviceDiscardFutures">serviceDiscardFutures</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent.ExecutorService.html?is-external=true" title="class or interface in java.util">java.util.concurrent.ExecutorService</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#serviceDiscardTimerTaskMgr">serviceDiscardTimerTaskMgr</a></span></code>
<div class="block">For tasks waiting on verification events after service discard</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent.ConcurrentMap.html?is-external=true" title="class or interface in java.util">java.util.concurrent.ConcurrentMap</a>&lt;<a href="../../../net/jini/core/lookup/ServiceID.html" title="class in net.jini.core.lookup">ServiceID</a>,<a href="../../../net/jini/lookup/ServiceDiscoveryManager.ServiceItemReg.html" title="class in net.jini.lookup">ServiceDiscoveryManager.ServiceItemReg</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#serviceIdMap">serviceIdMap</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../net/jini/lookup/ServiceDiscoveryListener.html" title="interface in net.jini.lookup">ServiceDiscoveryListener</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#sItemListeners">sItemListeners</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#startTime">startTime</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent.atomic.AtomicLong.html?is-external=true" title="class or interface in java.util">java.util.concurrent.atomic.AtomicLong</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#taskSeqN">taskSeqN</a></span></code>
<div class="block">Whenever a ServiceIdTask is created in this cache, it is assigned a
unique sequence number to allow such tasks associated with the same
ServiceID to be executed in the order in which they were queued in
the TaskManager.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../../net/jini/core/lookup/ServiceTemplate.html" title="class in net.jini.core.lookup">ServiceTemplate</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#tmpl">tmpl</a></span></code>&nbsp;</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="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#LookupCacheImpl-net.jini.core.lookup.ServiceTemplate-net.jini.lookup.ServiceItemFilter-net.jini.lookup.ServiceDiscoveryListener-long-net.jini.lookup.ServiceDiscoveryManager-">LookupCacheImpl</a></span>(<a href="../../../net/jini/core/lookup/ServiceTemplate.html" title="class in net.jini.core.lookup">ServiceTemplate</a>&nbsp;tmpl,
<a href="../../../net/jini/lookup/ServiceItemFilter.html" title="interface in net.jini.lookup">ServiceItemFilter</a>&nbsp;filter,
<a href="../../../net/jini/lookup/ServiceDiscoveryListener.html" title="interface in net.jini.lookup">ServiceDiscoveryListener</a>&nbsp;sListener,
long&nbsp;leaseDuration,
<a href="../../../net/jini/lookup/ServiceDiscoveryManager.html" title="class in net.jini.lookup">ServiceDiscoveryManager</a>&nbsp;sdm)</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>private <a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#addFilteredItemToMap-net.jini.core.lookup.ServiceItem-net.jini.core.lookup.ServiceItem-net.jini.lookup.ServiceDiscoveryManager.ServiceItemReg-">addFilteredItemToMap</a></span>(<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;item,
<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;filteredItem,
<a href="../../../net/jini/lookup/ServiceDiscoveryManager.ServiceItemReg.html" title="class in net.jini.lookup">ServiceDiscoveryManager.ServiceItemReg</a>&nbsp;itemReg)</code>
<div class="block">Convenience method called by <code>filterMaybeDiscard</code> that
finds the <code>ServiceItemReg</code> element in the
<code>serviceIdMap</code> that corresponds to the given
<code>ServiceItem</code> and, if such an element is found, replaces
the <code>item</code> field of that element with the given
<code>item</code> parameter; and sets the <code>filteredItem</code>
field of that element to the value contained in the
<code>filteredItem</code> parameter.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#addListener-net.jini.lookup.ServiceDiscoveryListener-">addListener</a></span>(<a href="../../../net/jini/lookup/ServiceDiscoveryListener.html" title="interface in net.jini.lookup">ServiceDiscoveryListener</a>&nbsp;listener)</code>
<div class="block">Registers a <code>ServiceDiscoveryListener</code> object with
the event mechanism of a <code>LookupCache</code>.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#addProxyReg-net.jini.lookup.ServiceDiscoveryManager.ProxyReg-">addProxyReg</a></span>(<a href="../../../net/jini/lookup/ServiceDiscoveryManager.ProxyReg.html" title="class in net.jini.lookup">ServiceDiscoveryManager.ProxyReg</a>&nbsp;reg)</code>
<div class="block">Add a new ProxyReg to the lookupCache.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#addServiceNotify-net.jini.core.lookup.ServiceItem-">addServiceNotify</a></span>(<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;item)</code>
<div class="block">Sends a notification to all listeners when a ServiceItem has been
added.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#addServiceNotify-net.jini.core.lookup.ServiceItem-net.jini.lookup.ServiceDiscoveryListener-">addServiceNotify</a></span>(<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;item,
<a href="../../../net/jini/lookup/ServiceDiscoveryListener.html" title="interface in net.jini.lookup">ServiceDiscoveryListener</a>&nbsp;srvcListener)</code>
<div class="block">Sends a notification to the given listener when a ServiceItem has
been added.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#cancelDiscardTask-net.jini.core.lookup.ServiceID-">cancelDiscardTask</a></span>(<a href="../../../net/jini/core/lookup/ServiceID.html" title="class in net.jini.core.lookup">ServiceID</a>&nbsp;sid)</code>
<div class="block">Wake up service discard task if running, else remove from mgr.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#changeServiceNotify-net.jini.core.lookup.ServiceItem-net.jini.core.lookup.ServiceItem-">changeServiceNotify</a></span>(<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;newItem,
<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;oldItem)</code>
<div class="block">Sends a notification when a ServiceItem has been changed, but still
matches.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#checkCacheTerminated--">checkCacheTerminated</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#discard-java.lang.Object-">discard</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;serviceReference)</code>
<div class="block">Deletes a service reference from the cache and causes a notification
to be sent to all registered listeners indicating that the service
has been discarded.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#discardRetryLater-net.jini.core.lookup.ServiceItem-boolean-net.jini.lookup.ServiceDiscoveryManager.ServiceItemReg-">discardRetryLater</a></span>(<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;item,
boolean&nbsp;sendEvent,
<a href="../../../net/jini/lookup/ServiceDiscoveryManager.ServiceItemReg.html" title="class in net.jini.lookup">ServiceDiscoveryManager.ServiceItemReg</a>&nbsp;itemReg)</code>
<div class="block">Convenience method called by <code>filterMaybeDiscard</code> that
finds in the <code>serviceIdMap</code>, the
<code>ServiceItemReg</code> element corresponding to the given
<code>ServiceItem</code>, sets a service removed event, and queues a
<code>ServiceDiscardTimerTask</code> to retry the filter at a later
time.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>private <a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#filterMaybeDiscard-net.jini.core.lookup.ServiceID-net.jini.lookup.ServiceDiscoveryManager.ServiceItemReg-net.jini.core.lookup.ServiceItem-boolean-">filterMaybeDiscard</a></span>(<a href="../../../net/jini/core/lookup/ServiceID.html" title="class in net.jini.core.lookup">ServiceID</a>&nbsp;srvcID,
<a href="../../../net/jini/lookup/ServiceDiscoveryManager.ServiceItemReg.html" title="class in net.jini.lookup">ServiceDiscoveryManager.ServiceItemReg</a>&nbsp;itemReg,
<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;item,
boolean&nbsp;sendEvent)</code>
<div class="block">Applies the first-stage <code>filter</code> associated with the
current instance of <code>LookupCache</code> to the given
<code>item</code> and returns the resulting filtered item if the
<code>filter</code> is passed (or is <code>null</code>); otherwise,
returns <code>null</code> and sends a service removed event if the
<code>sendEvent</code> parameter is <code>true</code>.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>private <a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#findItem-net.jini.core.lookup.ServiceID-net.jini.core.lookup.ServiceItem:A-">findItem</a></span>(<a href="../../../net/jini/core/lookup/ServiceID.html" title="class in net.jini.core.lookup">ServiceID</a>&nbsp;sid,
<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>[]&nbsp;items)</code>
<div class="block">Returns the element in the given items array having the given
ServiceID.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#getLeaseDuration--">getLeaseDuration</a></span>()</code>
<div class="block">Gets the remaining time left on the current cache's "lifespan".</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a>&lt;<a href="../../../net/jini/core/lookup/ServiceID.html" title="class in net.jini.core.lookup">ServiceID</a>,<a href="../../../net/jini/lookup/ServiceDiscoveryManager.ServiceItemReg.html" title="class in net.jini.lookup">ServiceDiscoveryManager.ServiceItemReg</a>&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#getServiceIdMapEntrySetIterator--">getServiceIdMapEntrySetIterator</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>private <a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#getServiceItems-net.jini.lookup.ServiceItemFilter-">getServiceItems</a></span>(<a href="../../../net/jini/lookup/ServiceItemFilter.html" title="interface in net.jini.lookup">ServiceItemFilter</a>&nbsp;filter2)</code>
<div class="block">This method returns a <code>ServiceItem</code> array containing
elements that satisfy the following conditions: - is referenced by
one of the <code>itemReg</code> elements contained in the
<code>serviceIdMap</code> - is not currently discarded - satisfies
the given <code>ServiceItemFilter</code>
Note that the <code>filter</code> parameter is a "2nd stage" filter.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#handleMatchNoMatch-net.jini.core.lookup.ServiceRegistrar-net.jini.core.lookup.ServiceID-">handleMatchNoMatch</a></span>(<a href="../../../net/jini/core/lookup/ServiceRegistrar.html" title="interface in net.jini.core.lookup">ServiceRegistrar</a>&nbsp;proxy,
<a href="../../../net/jini/core/lookup/ServiceID.html" title="class in net.jini.core.lookup">ServiceID</a>&nbsp;srvcID)</code>
<div class="block">Convenience method called (only
when a TRANSITION_MATCH_NOMATCH event is received) that removes the
given <code>item</code> from the <code>serviceIdMap</code> and wakes
up the <code>ServiceDiscardTimerTask</code> if the given
<code>item</code> is discarded; otherwise, sends a removed event.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#initCache--">initCache</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#itemMatchMatchChange-net.jini.core.lookup.ServiceID-net.jini.lookup.ServiceDiscoveryManager.ServiceItemReg-net.jini.core.lookup.ServiceRegistrar-net.jini.core.lookup.ServiceItem-boolean-">itemMatchMatchChange</a></span>(<a href="../../../net/jini/core/lookup/ServiceID.html" title="class in net.jini.core.lookup">ServiceID</a>&nbsp;srvcID,
<a href="../../../net/jini/lookup/ServiceDiscoveryManager.ServiceItemReg.html" title="class in net.jini.lookup">ServiceDiscoveryManager.ServiceItemReg</a>&nbsp;itemReg,
<a href="../../../net/jini/core/lookup/ServiceRegistrar.html" title="interface in net.jini.core.lookup">ServiceRegistrar</a>&nbsp;proxy,
<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;newItem,
boolean&nbsp;matchMatchEvent)</code>
<div class="block">With respect to a given service (referenced by the parameter
newItem), if either an event has been received from the given lookup
service (referenced by the proxy parameter), or a snapshot of the
given lookup service's state has been retrieved, this method
determines whether the service's attributes have changed, or whether
a new version of the service has been registered.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#lookup-net.jini.lookup.ServiceDiscoveryManager.ProxyReg-net.jini.lookup.ServiceDiscoveryManager.EventReg-">lookup</a></span>(<a href="../../../net/jini/lookup/ServiceDiscoveryManager.ProxyReg.html" title="class in net.jini.lookup">ServiceDiscoveryManager.ProxyReg</a>&nbsp;reg,
<a href="../../../net/jini/lookup/ServiceDiscoveryManager.EventReg.html" title="class in net.jini.lookup">ServiceDiscoveryManager.EventReg</a>&nbsp;eReg)</code>
<div class="block">Requests a "snapshot" of the given registrar's state.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code><a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#lookup-net.jini.lookup.ServiceItemFilter-">lookup</a></span>(<a href="../../../net/jini/lookup/ServiceItemFilter.html" title="interface in net.jini.lookup">ServiceItemFilter</a>&nbsp;myFilter)</code>
<div class="block">Finds a <code>ServiceItem</code> object that satisfies the given
<code>filter</code> parameter.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code><a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#lookup-net.jini.lookup.ServiceItemFilter-int-">lookup</a></span>(<a href="../../../net/jini/lookup/ServiceItemFilter.html" title="interface in net.jini.lookup">ServiceItemFilter</a>&nbsp;myFilter,
int&nbsp;maxMatches)</code>
<div class="block">Finds an array of instances of <code>ServiceItem</code> that each
satisfy the given <code>filter</code> parameter.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#newOldService-net.jini.lookup.ServiceDiscoveryManager.ProxyReg-net.jini.core.lookup.ServiceItem-boolean-">newOldService</a></span>(<a href="../../../net/jini/lookup/ServiceDiscoveryManager.ProxyReg.html" title="class in net.jini.lookup">ServiceDiscoveryManager.ProxyReg</a>&nbsp;reg,
<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;item,
boolean&nbsp;matchMatchEvent)</code>
<div class="block">Method used to process the service state
("snapshot"), matching this cache's template, retrieved from
the given lookup service.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#notifyServiceMap-java.lang.Object-long-long-net.jini.core.lookup.ServiceID-net.jini.core.lookup.ServiceItem-int-">notifyServiceMap</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;eventSource,
long&nbsp;eventID,
long&nbsp;seqNo,
<a href="../../../net/jini/core/lookup/ServiceID.html" title="class in net.jini.core.lookup">ServiceID</a>&nbsp;sid,
<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;item,
int&nbsp;transition)</code>
<div class="block">Called by the lookupListener's notify() method.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#removeListener-net.jini.lookup.ServiceDiscoveryListener-">removeListener</a></span>(<a href="../../../net/jini/lookup/ServiceDiscoveryListener.html" title="interface in net.jini.lookup">ServiceDiscoveryListener</a>&nbsp;listener)</code>
<div class="block">Removes a <code>ServiceDiscoveryListener</code> object from the set
of listeners currently registered with the <code>LookupCache</code>.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#removeProxyReg-net.jini.lookup.ServiceDiscoveryManager.ProxyReg-">removeProxyReg</a></span>(<a href="../../../net/jini/lookup/ServiceDiscoveryManager.ProxyReg.html" title="class in net.jini.lookup">ServiceDiscoveryManager.ProxyReg</a>&nbsp;reg)</code>
<div class="block">Remove a ProxyReg from the lookupCache.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#removeServiceIdMapSendNoEvent-net.jini.core.lookup.ServiceID-net.jini.lookup.ServiceDiscoveryManager.ServiceItemReg-">removeServiceIdMapSendNoEvent</a></span>(<a href="../../../net/jini/core/lookup/ServiceID.html" title="class in net.jini.core.lookup">ServiceID</a>&nbsp;sid,
<a href="../../../net/jini/lookup/ServiceDiscoveryManager.ServiceItemReg.html" title="class in net.jini.lookup">ServiceDiscoveryManager.ServiceItemReg</a>&nbsp;itemReg)</code>
<div class="block">Removes an entry in the serviceIdMap, but sends no notification.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#removeServiceNotify-net.jini.core.lookup.ServiceItem-">removeServiceNotify</a></span>(<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;item)</code>
<div class="block">Sends a notification when a ServiceItem has been removed.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#sameVersion-net.jini.core.lookup.ServiceItem-net.jini.core.lookup.ServiceItem-">sameVersion</a></span>(<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;item0,
<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;item1)</code>
<div class="block">Convenience method that performs a byte-wise comparison, including
codebases, of the services referenced by the given service items, and
returns the result.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#serviceNotifyDo-net.jini.core.lookup.ServiceItem-net.jini.core.lookup.ServiceItem-int-">serviceNotifyDo</a></span>(<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;oldItem,
<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;item,
int&nbsp;action)</code>
<div class="block">Common code for performing service notification to all listeners.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html#terminate--">terminate</a></span>()</code>
<div class="block">Performs cleanup duties related to the termination of
the processing being performed by a particular instance of
<code>LookupCache</code>.</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="http://docs.oracle.com/javase/6/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/6/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/6/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/6/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/6/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/6/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/6/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/6/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/6/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/6/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/6/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/6/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="eventNotificationExecutor">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>eventNotificationExecutor</h4>
<pre>private&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent.ExecutorService.html?is-external=true" title="class or interface in java.util">java.util.concurrent.ExecutorService</a> eventNotificationExecutor</pre>
</li>
</ul>
<a name="ITEM_ADDED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ITEM_ADDED</h4>
<pre>private static final&nbsp;int ITEM_ADDED</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#net.jini.lookup.ServiceDiscoveryManager.LookupCacheImpl.ITEM_ADDED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="ITEM_REMOVED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ITEM_REMOVED</h4>
<pre>private static final&nbsp;int ITEM_REMOVED</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#net.jini.lookup.ServiceDiscoveryManager.LookupCacheImpl.ITEM_REMOVED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="ITEM_CHANGED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ITEM_CHANGED</h4>
<pre>private static final&nbsp;int ITEM_CHANGED</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#net.jini.lookup.ServiceDiscoveryManager.LookupCacheImpl.ITEM_CHANGED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="lookupListener">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lookupListener</h4>
<pre>private final&nbsp;<a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.LookupListener.html" title="class in net.jini.lookup">ServiceDiscoveryManager.LookupCacheImpl.LookupListener</a> lookupListener</pre>
</li>
</ul>
<a name="lookupListenerExporter">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lookupListenerExporter</h4>
<pre>private volatile&nbsp;<a href="../../../net/jini/export/Exporter.html" title="interface in net.jini.export">Exporter</a> lookupListenerExporter</pre>
</li>
</ul>
<a name="lookupListenerProxy">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lookupListenerProxy</h4>
<pre>private volatile&nbsp;<a href="../../../net/jini/core/event/RemoteEventListener.html" title="interface in net.jini.core.event">RemoteEventListener</a> lookupListenerProxy</pre>
</li>
</ul>
<a name="cacheTaskMgr">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cacheTaskMgr</h4>
<pre>private volatile&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent.ExecutorService.html?is-external=true" title="class or interface in java.util">java.util.concurrent.ExecutorService</a> cacheTaskMgr</pre>
<div class="block">Task manager for the various tasks executed by this LookupCache</div>
</li>
</ul>
<a name="cacheTaskDepMgr">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cacheTaskDepMgr</h4>
<pre>private volatile&nbsp;<a href="../../../net/jini/lookup/ServiceDiscoveryManager.CacheTaskDependencyManager.html" title="class in net.jini.lookup">ServiceDiscoveryManager.CacheTaskDependencyManager</a> cacheTaskDepMgr</pre>
</li>
</ul>
<a name="bCacheTerminated">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bCacheTerminated</h4>
<pre>private volatile&nbsp;boolean bCacheTerminated</pre>
</li>
</ul>
<a name="sItemListeners">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sItemListeners</h4>
<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../net/jini/lookup/ServiceDiscoveryListener.html" title="interface in net.jini.lookup">ServiceDiscoveryListener</a>&gt; sItemListeners</pre>
</li>
</ul>
<a name="serviceIdMap">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>serviceIdMap</h4>
<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent.ConcurrentMap.html?is-external=true" title="class or interface in java.util">java.util.concurrent.ConcurrentMap</a>&lt;<a href="../../../net/jini/core/lookup/ServiceID.html" title="class in net.jini.core.lookup">ServiceID</a>,<a href="../../../net/jini/lookup/ServiceDiscoveryManager.ServiceItemReg.html" title="class in net.jini.lookup">ServiceDiscoveryManager.ServiceItemReg</a>&gt; serviceIdMap</pre>
</li>
</ul>
<a name="eventRegMap">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>eventRegMap</h4>
<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent.ConcurrentMap.html?is-external=true" title="class or interface in java.util">java.util.concurrent.ConcurrentMap</a>&lt;<a href="../../../net/jini/lookup/ServiceDiscoveryManager.ProxyReg.html" title="class in net.jini.lookup">ServiceDiscoveryManager.ProxyReg</a>,<a href="../../../net/jini/lookup/ServiceDiscoveryManager.EventReg.html" title="class in net.jini.lookup">ServiceDiscoveryManager.EventReg</a>&gt; eventRegMap</pre>
</li>
</ul>
<a name="tmpl">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>tmpl</h4>
<pre>private final&nbsp;<a href="../../../net/jini/core/lookup/ServiceTemplate.html" title="class in net.jini.core.lookup">ServiceTemplate</a> tmpl</pre>
</li>
</ul>
<a name="filter">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>filter</h4>
<pre>private final&nbsp;<a href="../../../net/jini/lookup/ServiceItemFilter.html" title="interface in net.jini.lookup">ServiceItemFilter</a> filter</pre>
</li>
</ul>
<a name="leaseDuration">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>leaseDuration</h4>
<pre>private final&nbsp;long leaseDuration</pre>
</li>
</ul>
<a name="startTime">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>startTime</h4>
<pre>private final&nbsp;long startTime</pre>
</li>
</ul>
<a name="serviceDiscardTimerTaskMgr">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>serviceDiscardTimerTaskMgr</h4>
<pre>private volatile&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent.ExecutorService.html?is-external=true" title="class or interface in java.util">java.util.concurrent.ExecutorService</a> serviceDiscardTimerTaskMgr</pre>
<div class="block">For tasks waiting on verification events after service discard</div>
</li>
</ul>
<a name="serviceDiscardFutures">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>serviceDiscardFutures</h4>
<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent.ConcurrentMap.html?is-external=true" title="class or interface in java.util">java.util.concurrent.ConcurrentMap</a>&lt;<a href="../../../net/jini/core/lookup/ServiceID.html" title="class in net.jini.core.lookup">ServiceID</a>,<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent.Future.html?is-external=true" title="class or interface in java.util">java.util.concurrent.Future</a>&gt; serviceDiscardFutures</pre>
</li>
</ul>
<a name="taskSeqN">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>taskSeqN</h4>
<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent.atomic.AtomicLong.html?is-external=true" title="class or interface in java.util">java.util.concurrent.atomic.AtomicLong</a> taskSeqN</pre>
<div class="block">Whenever a ServiceIdTask is created in this cache, it is assigned a
unique sequence number to allow such tasks associated with the same
ServiceID to be executed in the order in which they were queued in
the TaskManager. This field contains the value of the sequence number
assigned to the most recently created ServiceIdTask.</div>
</li>
</ul>
<a name="sdm">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>sdm</h4>
<pre>private final&nbsp;<a href="../../../net/jini/lookup/ServiceDiscoveryManager.html" title="class in net.jini.lookup">ServiceDiscoveryManager</a> sdm</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="LookupCacheImpl-net.jini.core.lookup.ServiceTemplate-net.jini.lookup.ServiceItemFilter-net.jini.lookup.ServiceDiscoveryListener-long-net.jini.lookup.ServiceDiscoveryManager-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>LookupCacheImpl</h4>
<pre>public&nbsp;LookupCacheImpl(<a href="../../../net/jini/core/lookup/ServiceTemplate.html" title="class in net.jini.core.lookup">ServiceTemplate</a>&nbsp;tmpl,
<a href="../../../net/jini/lookup/ServiceItemFilter.html" title="interface in net.jini.lookup">ServiceItemFilter</a>&nbsp;filter,
<a href="../../../net/jini/lookup/ServiceDiscoveryListener.html" title="interface in net.jini.lookup">ServiceDiscoveryListener</a>&nbsp;sListener,
long&nbsp;leaseDuration,
<a href="../../../net/jini/lookup/ServiceDiscoveryManager.html" title="class in net.jini.lookup">ServiceDiscoveryManager</a>&nbsp;sdm)
throws <a href="http://docs.oracle.com/javase/6/docs/api/java/rmi/RemoteException.html?is-external=true" title="class or interface in java.rmi">RemoteException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/rmi/RemoteException.html?is-external=true" title="class or interface in java.rmi">RemoteException</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="terminate--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>terminate</h4>
<pre>public&nbsp;void&nbsp;terminate()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../net/jini/lookup/LookupCache.html#terminate--">LookupCache</a></code></span></div>
<div class="block">Performs cleanup duties related to the termination of
the processing being performed by a particular instance of
<code>LookupCache</code>. For that instance, this method cancels
all event leases granted by the lookup services that supplied the
contents of the cache, and un-exports all remote listener objects
registered with those lookup services. The <code>terminate</code>
method is typically called when the entity is no longer interested
in the contents of the <code>LookupCache</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../net/jini/lookup/LookupCache.html#terminate--">terminate</a></code>&nbsp;in interface&nbsp;<code><a href="../../../net/jini/lookup/LookupCache.html" title="interface in net.jini.lookup">LookupCache</a></code></dd>
</dl>
</li>
</ul>
<a name="lookup-net.jini.lookup.ServiceItemFilter-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lookup</h4>
<pre>public&nbsp;<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;lookup(<a href="../../../net/jini/lookup/ServiceItemFilter.html" title="interface in net.jini.lookup">ServiceItemFilter</a>&nbsp;myFilter)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../net/jini/lookup/LookupCache.html#lookup-net.jini.lookup.ServiceItemFilter-">LookupCache</a></code></span></div>
<div class="block">Finds a <code>ServiceItem</code> object that satisfies the given
<code>filter</code> parameter.
<p>
The service item returned must have been previously discovered to
be both registered with one or more of the lookup services in the
managed set, and to match criteria defined by the entity.
<p>
The semantics of the <code>filter</code> argument are identical
to those of the <code>filter</code> argument specified for a
number of the methods defined in the interface of the
<code>ServiceDiscoveryManager</code> utility class. This argument
is intended to allow an entity to separate its filtering into two
steps: an initial filter applied during the discovery phase, and
a finer resolution filter applied upon retrieval from the cache.
As with the methods of the <code>ServiceDiscoveryManager</code>, if
<code>null</code> is the value of this argument, then no additional
filtering will be performed.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../net/jini/lookup/LookupCache.html#lookup-net.jini.lookup.ServiceItemFilter-">lookup</a></code>&nbsp;in interface&nbsp;<code><a href="../../../net/jini/lookup/LookupCache.html" title="interface in net.jini.lookup">LookupCache</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>myFilter</code> - used for matching <code>ServiceItem</code>s. A null
value means no additional filtering should be applied.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>ServiceItem that satisfies the filter, and that was
previously discovered to be registered with one
or more lookup services in the managed set. A
<code>null</code> value will be returned if no
<code>ServiceItem</code> is found that matches
the criteria or if the cache is empty.</dd>
</dl>
</li>
</ul>
<a name="lookup-net.jini.lookup.ServiceItemFilter-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lookup</h4>
<pre>public&nbsp;<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>[]&nbsp;lookup(<a href="../../../net/jini/lookup/ServiceItemFilter.html" title="interface in net.jini.lookup">ServiceItemFilter</a>&nbsp;myFilter,
int&nbsp;maxMatches)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../net/jini/lookup/LookupCache.html#lookup-net.jini.lookup.ServiceItemFilter-int-">LookupCache</a></code></span></div>
<div class="block">Finds an array of instances of <code>ServiceItem</code> that each
satisfy the given <code>filter</code> parameter.
<p>
Each service item contained in the returned array must have been
previously discovered to be both registered with one or more of the
lookup services in the managed set, and to match criteria defined
by the entity.
<p>
The semantics of the <code>filter</code> argument are
identical to those of the <code>filter</code> argument specified
for a number of the methods defined in the interface of the
<code>ServiceDiscoveryManager</code> utility class. This argument is
intended to allow an entity to separate its filtering into two
steps: an initial filter applied during the discovery phase, and
a finer resolution filter applied upon retrieval from the cache.
As with the methods of the <code>ServiceDiscoveryManager</code>, if
<code>null</code> is the value of this argument, then no
additional filtering will be performed.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../net/jini/lookup/LookupCache.html#lookup-net.jini.lookup.ServiceItemFilter-int-">lookup</a></code>&nbsp;in interface&nbsp;<code><a href="../../../net/jini/lookup/LookupCache.html" title="interface in net.jini.lookup">LookupCache</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>myFilter</code> - used for matching <code>ServiceItem</code>s.
A null value means no additional filtering should
be applied.</dd>
<dd><code>maxMatches</code> - maximum number of matches to return. If this
value is set to <code>Integer.MAX_VALUE</code>
then all elements in the cache that match the
criteria will be returned.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>ServiceItem[] array whose elements each satisfy the filter,
and that were previously discovered to be
registered with one or more lookup services in
the managed set. An empty array will be returned
if no <code>ServiceItem</code> is found that
matches the criteria or if the cache is empty.</dd>
</dl>
</li>
</ul>
<a name="discard-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>discard</h4>
<pre>public&nbsp;void&nbsp;discard(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;serviceReference)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../net/jini/lookup/LookupCache.html#discard-java.lang.Object-">LookupCache</a></code></span></div>
<div class="block">Deletes a service reference from the cache and causes a notification
to be sent to all registered listeners indicating that the service
has been discarded.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../net/jini/lookup/LookupCache.html#discard-java.lang.Object-">discard</a></code>&nbsp;in interface&nbsp;<code><a href="../../../net/jini/lookup/LookupCache.html" title="interface in net.jini.lookup">LookupCache</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serviceReference</code> - the service reference to discard.</dd>
</dl>
</li>
</ul>
<a name="getServiceIdMapEntrySetIterator--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServiceIdMapEntrySetIterator</h4>
<pre>private&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a>&lt;<a href="../../../net/jini/core/lookup/ServiceID.html" title="class in net.jini.core.lookup">ServiceID</a>,<a href="../../../net/jini/lookup/ServiceDiscoveryManager.ServiceItemReg.html" title="class in net.jini.lookup">ServiceDiscoveryManager.ServiceItemReg</a>&gt;&gt;&nbsp;getServiceIdMapEntrySetIterator()</pre>
</li>
</ul>
<a name="getServiceItems-net.jini.lookup.ServiceItemFilter-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServiceItems</h4>
<pre>private&nbsp;<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>[]&nbsp;getServiceItems(<a href="../../../net/jini/lookup/ServiceItemFilter.html" title="interface in net.jini.lookup">ServiceItemFilter</a>&nbsp;filter2)</pre>
<div class="block">This method returns a <code>ServiceItem</code> array containing
elements that satisfy the following conditions: - is referenced by
one of the <code>itemReg</code> elements contained in the
<code>serviceIdMap</code> - is not currently discarded - satisfies
the given <code>ServiceItemFilter</code>
Note that the <code>filter</code> parameter is a "2nd stage" filter.
That is, for each <code>itemReg</code> element in the
<code>serviceIdMap</code>, the "1st stage" filter corresponding to
the current instance of <code>LookupCache</code> has already been
applied to the <code>ServiceItem</code> referenced in that
<code>itemReg</code>. The <code>ServiceItemFilter</code> applied here
is supplied by the entity interacting with the cache, and provides a
second filtering process. Thus, this method applies the given
<code>filter</code> parameter to the <code>filteredItem</code> field
(not the <code>item</code> field) of each non-discarded
<code>itemReg</code> element in the <code>serviceIdMap</code>.
This method returns all the instances of <code>ServiceItem</code>
that pass the given <code>filter</code>; and it discards all the
items that produce an indefinite result when that <code>filter</code>
is applied.</div>
</li>
</ul>
<a name="addListener-net.jini.lookup.ServiceDiscoveryListener-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addListener</h4>
<pre>public&nbsp;void&nbsp;addListener(<a href="../../../net/jini/lookup/ServiceDiscoveryListener.html" title="interface in net.jini.lookup">ServiceDiscoveryListener</a>&nbsp;listener)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../net/jini/lookup/LookupCache.html#addListener-net.jini.lookup.ServiceDiscoveryListener-">LookupCache</a></code></span></div>
<div class="block">Registers a <code>ServiceDiscoveryListener</code> object with
the event mechanism of a <code>LookupCache</code>. The listener
object will receive a <code>ServiceDiscoveryEvent</code> upon the
discovery, removal, or modification of one of the cache's
services. Once a listener is registered, it will be notified of
all service references discovered to date, and will be notified as
new services are discovered and existing services are modified or
discarded.
If the parameter value duplicates (using <code>equals</code>) another
element in the set of listeners, no action is taken. If the parameter
value is <code>null</code>, a <code>NullPointerException</code> is
thrown.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../net/jini/lookup/LookupCache.html#addListener-net.jini.lookup.ServiceDiscoveryListener-">addListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../net/jini/lookup/LookupCache.html" title="interface in net.jini.lookup">LookupCache</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>listener</code> - the <code>ServiceDiscoveryListener</code> object to
register.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../net/jini/lookup/LookupCache.html#removeListener-net.jini.lookup.ServiceDiscoveryListener-"><code>LookupCache.removeListener(net.jini.lookup.ServiceDiscoveryListener)</code></a></dd>
</dl>
</li>
</ul>
<a name="removeListener-net.jini.lookup.ServiceDiscoveryListener-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeListener</h4>
<pre>public&nbsp;void&nbsp;removeListener(<a href="../../../net/jini/lookup/ServiceDiscoveryListener.html" title="interface in net.jini.lookup">ServiceDiscoveryListener</a>&nbsp;listener)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../net/jini/lookup/LookupCache.html#removeListener-net.jini.lookup.ServiceDiscoveryListener-">LookupCache</a></code></span></div>
<div class="block">Removes a <code>ServiceDiscoveryListener</code> object from the set
of listeners currently registered with the <code>LookupCache</code>.
Once all listeners are removed from the cache's set of listeners,
the cache will send no more <code>ServiceDiscoveryEvent</code>
notifications.
If the parameter value is <code>null</code>, or if the parameter value
does not exist in the managed set of listeners, no action is taken.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../net/jini/lookup/LookupCache.html#removeListener-net.jini.lookup.ServiceDiscoveryListener-">removeListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../net/jini/lookup/LookupCache.html" title="interface in net.jini.lookup">LookupCache</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>listener</code> - the <code>ServiceDiscoveryListener</code> object to
remove.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../net/jini/lookup/LookupCache.html#addListener-net.jini.lookup.ServiceDiscoveryListener-"><code>LookupCache.addListener(net.jini.lookup.ServiceDiscoveryListener)</code></a></dd>
</dl>
</li>
</ul>
<a name="addProxyReg-net.jini.lookup.ServiceDiscoveryManager.ProxyReg-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addProxyReg</h4>
<pre>public&nbsp;void&nbsp;addProxyReg(<a href="../../../net/jini/lookup/ServiceDiscoveryManager.ProxyReg.html" title="class in net.jini.lookup">ServiceDiscoveryManager.ProxyReg</a>&nbsp;reg)</pre>
<div class="block">Add a new ProxyReg to the lookupCache. Called by the constructor and
the DiscMgrListener's discovered() method.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>reg</code> - a ProxyReg to add.</dd>
</dl>
</li>
</ul>
<a name="removeProxyReg-net.jini.lookup.ServiceDiscoveryManager.ProxyReg-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeProxyReg</h4>
<pre>public&nbsp;void&nbsp;removeProxyReg(<a href="../../../net/jini/lookup/ServiceDiscoveryManager.ProxyReg.html" title="class in net.jini.lookup">ServiceDiscoveryManager.ProxyReg</a>&nbsp;reg)</pre>
<div class="block">Remove a ProxyReg from the lookupCache. Called by DiscMgrListener's
discarded() method.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>reg</code> - a ProxyReg to remove.</dd>
</dl>
</li>
</ul>
<a name="checkCacheTerminated--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkCacheTerminated</h4>
<pre>private&nbsp;void&nbsp;checkCacheTerminated()</pre>
</li>
</ul>
<a name="notifyServiceMap-java.lang.Object-long-long-net.jini.core.lookup.ServiceID-net.jini.core.lookup.ServiceItem-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>notifyServiceMap</h4>
<pre>private&nbsp;void&nbsp;notifyServiceMap(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;eventSource,
long&nbsp;eventID,
long&nbsp;seqNo,
<a href="../../../net/jini/core/lookup/ServiceID.html" title="class in net.jini.core.lookup">ServiceID</a>&nbsp;sid,
<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;item,
int&nbsp;transition)</pre>
<div class="block">Called by the lookupListener's notify() method. Checks the event
sequence number and, based on whether or not a "gap" is found in in
the event sequence, performs lookup (if a gap was found) or
processes the event if no gap was found.
Recall that the Event specification states that if the sequence
numbers of two successive events differ by only 1, then one can be
assured that no events were missed. On the other hand, if the
difference is greater than 1 (the sequence contains a "gap"), then
one or more events may -- or may not -- have been missed. Thus, if a
gap is found in the events, although it's possible that no events
were missed, this method takes the conservative approach by assuming
events were missed. When this method determines that an event may
have been missed, it requests a current "snapshot" of the given
ServiceRegistrar's state by performing lookup.
Since this method can safely assume that no events have been missed
if it finds no gaps in the event sequence, it can safely process
the event maintaining equivalent state to the registrar, that is
finding and filtering new services and filtering updated or changed
existing services.
Note that when a lookup service is discovered, this utility registers
with that lookup service's event mechanism for service events related
to the services of interest. Upon registering with the event
mechanism, a data structure (of type EventReg) containing information
about that registration is placed in a Map for later processing when
events do arrive. If the timing is right, it is possible that a
service event may arrive between the time the registration is made
and the time the EventReg is stored in the map. Thus, this method may
find that the eventRegMap does not contain an element corresponding
to the event this method is currently processing. In that case, this
method will do nothing. It will simply return so that the service
referenced in the event can be discovered using the snapshot returned
by the lookup method that is ultimately c by the
RegisterListenerTask (whose listener registration caused this method
to be invoked in the first place).</div>
</li>
</ul>
<a name="lookup-net.jini.lookup.ServiceDiscoveryManager.ProxyReg-net.jini.lookup.ServiceDiscoveryManager.EventReg-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lookup</h4>
<pre>private&nbsp;void&nbsp;lookup(<a href="../../../net/jini/lookup/ServiceDiscoveryManager.ProxyReg.html" title="class in net.jini.lookup">ServiceDiscoveryManager.ProxyReg</a>&nbsp;reg,
<a href="../../../net/jini/lookup/ServiceDiscoveryManager.EventReg.html" title="class in net.jini.lookup">ServiceDiscoveryManager.EventReg</a>&nbsp;eReg)</pre>
<div class="block">Requests a "snapshot" of the given registrar's state.</div>
</li>
</ul>
<a name="newOldService-net.jini.lookup.ServiceDiscoveryManager.ProxyReg-net.jini.core.lookup.ServiceItem-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newOldService</h4>
<pre>private&nbsp;void&nbsp;newOldService(<a href="../../../net/jini/lookup/ServiceDiscoveryManager.ProxyReg.html" title="class in net.jini.lookup">ServiceDiscoveryManager.ProxyReg</a>&nbsp;reg,
<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;item,
boolean&nbsp;matchMatchEvent)</pre>
<div class="block">Method used to process the service state
("snapshot"), matching this cache's template, retrieved from
the given lookup service.
After retrieving the snapshot S, the lookup method calls this method
for each service referenced in S. This method determines if
the given service is an already-discovered service (is currently in
this cache's serviceIdMap), or is a new service. This method handles
the service differently, depending on whether the service is a new or
old.
a. if the item is old, then this method will: - compare the given item
from the snapshot to the UN-filtered item in given itemReg if(same
version but attributes have changed) send changed event else if(
version has changed ) send removed event followed by added event else
do nothing - apply the filter to the given item if(filter fails) send
removed event else if(filter passes) set the filtered item in the
itemReg in the map else if (filter is indefinite) discard item send
removed event queue another filter attempt for later b. if the given
item is newly discovered, then this task will: - create a new
ServiceItemReg containing the given item - place the new itemReg in
the serviceIdMap - apply the filter to the given item if(filter
fails) remove the item from the map but send NO removed event else
if(filter passes) send added event for the FILTERED item else if
(filter is indefinite) discard item queue another filter attempt for
later but send NO removed event</div>
</li>
</ul>
<a name="removeServiceIdMapSendNoEvent-net.jini.core.lookup.ServiceID-net.jini.lookup.ServiceDiscoveryManager.ServiceItemReg-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeServiceIdMapSendNoEvent</h4>
<pre>private&nbsp;boolean&nbsp;removeServiceIdMapSendNoEvent(<a href="../../../net/jini/core/lookup/ServiceID.html" title="class in net.jini.core.lookup">ServiceID</a>&nbsp;sid,
<a href="../../../net/jini/lookup/ServiceDiscoveryManager.ServiceItemReg.html" title="class in net.jini.lookup">ServiceDiscoveryManager.ServiceItemReg</a>&nbsp;itemReg)</pre>
<div class="block">Removes an entry in the serviceIdMap, but sends no notification.</div>
</li>
</ul>
<a name="findItem-net.jini.core.lookup.ServiceID-net.jini.core.lookup.ServiceItem:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>findItem</h4>
<pre>private&nbsp;<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;findItem(<a href="../../../net/jini/core/lookup/ServiceID.html" title="class in net.jini.core.lookup">ServiceID</a>&nbsp;sid,
<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>[]&nbsp;items)</pre>
<div class="block">Returns the element in the given items array having the given
ServiceID.</div>
</li>
</ul>
<a name="itemMatchMatchChange-net.jini.core.lookup.ServiceID-net.jini.lookup.ServiceDiscoveryManager.ServiceItemReg-net.jini.core.lookup.ServiceRegistrar-net.jini.core.lookup.ServiceItem-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>itemMatchMatchChange</h4>
<pre>private&nbsp;void&nbsp;itemMatchMatchChange(<a href="../../../net/jini/core/lookup/ServiceID.html" title="class in net.jini.core.lookup">ServiceID</a>&nbsp;srvcID,
<a href="../../../net/jini/lookup/ServiceDiscoveryManager.ServiceItemReg.html" title="class in net.jini.lookup">ServiceDiscoveryManager.ServiceItemReg</a>&nbsp;itemReg,
<a href="../../../net/jini/core/lookup/ServiceRegistrar.html" title="interface in net.jini.core.lookup">ServiceRegistrar</a>&nbsp;proxy,
<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;newItem,
boolean&nbsp;matchMatchEvent)</pre>
<div class="block">With respect to a given service (referenced by the parameter
newItem), if either an event has been received from the given lookup
service (referenced by the proxy parameter), or a snapshot of the
given lookup service's state has been retrieved, this method
determines whether the service's attributes have changed, or whether
a new version of the service has been registered. After the
appropriate determination has been made, this method applies the
filter associated with the current cache and sends the appropriate
local ServiceDiscoveryEvent(s).
This method is called under the following conditions: - when a new
lookup service is discovered, this method will be called for each
previously discovered service - when a gap in the events from a
previously discovered lookup service is discovered, this method will
be called for each previously discovered service - when a MATCH_MATCH
event is received, this method will be called for each previously
discovered service - when a NOMATCH_MATCH event is received, this
method will be called for each previously discovered service Note
that this method is never called when a MATCH_NOMATCH event is
received; such an event is always handled by the handleMatchNoMatch
method.
When this method is called, it may send one of the following events
or combination of events: - a service changed event - a service
removed event followed by a service added event - a service removed
event
A service removed event is sent when the service either fails the
filter, or the filter produces an indefinite result; in which case,
the service is also discarded.
A service changed event is sent when the service passes the filter,
and it is determined that the service's attributes have changed. In
this case, the old and new service proxies are treated as the same if
one of the following conditions is met: - this method was called
because of the receipt of a MATCH_MATCH event - the old and new
service proxies are byte-wise fully equal (Note that the lookup
service specification guarantees that the proxies are the same when a
MATCH_MATCH event is received.)
A service removed event followed by a service added event is sent
when the service passes the filter, and the conditions for which a
service changed event would be considered are not met; that is, this
method was not called because of the receipt of a MATCH_MATCH event;
or the old and new service proxies are not byte-wise fully equal.
The if-else-block contained in this method implements the logic just
described. The parameter matchMatchEvent reflects the pertinent event
state that causes this method to be called. That is, either a
MATCH_MATCH event was received, or it wasn't, (and if it wasn't, then
a full byte-wise comparison is performed to determine whether the
proxies are still the same).
To understand when the 'else' part of the if-else-block is executed,
consider the following conditions: - there is more than one lookup
service with which the service registers (ex. LUS-0 and LUS-1) -
after the service registers with LUS-0, a NOMATCH_MATCH event is
received and handled (so the service is now known to the cache) -
before the service registers with LUS-1, the service is replaced with
a new version - the NOMATCH_MATCH event resulting from the service's
registration with LUS-1 is received BEFORE receiving the
MATCH_NOMATCH/NOMATCH_MATCH event sequence that will ultimately
result from the re-registration of that new version with LUS-0 When
the above conditions occur, the NOMATCH_MATCH event that resulted
from the service's registration with LUS-1 will cause this method to
be invoked and the proxies to be fully compared (because the event
was not a MATCH_MATCH event); and since the old service proxy and the
new service proxy will not be fully equal, the else part of the
if-else-block will be executed.
This method applies the filter only after the above comparisons and
determinations have been completed.</div>
</li>
</ul>
<a name="sameVersion-net.jini.core.lookup.ServiceItem-net.jini.core.lookup.ServiceItem-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sameVersion</h4>
<pre>private&nbsp;boolean&nbsp;sameVersion(<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;item0,
<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;item1)</pre>
<div class="block">Convenience method that performs a byte-wise comparison, including
codebases, of the services referenced by the given service items, and
returns the result. If the services cannot be compared, it is assumed
that the versions are not the same, and <code>false</code> is
returned.</div>
</li>
</ul>
<a name="getLeaseDuration--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLeaseDuration</h4>
<pre>public&nbsp;long&nbsp;getLeaseDuration()</pre>
<div class="block">Gets the remaining time left on the current cache's "lifespan".</div>
</li>
</ul>
<a name="addServiceNotify-net.jini.core.lookup.ServiceItem-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addServiceNotify</h4>
<pre>private&nbsp;void&nbsp;addServiceNotify(<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;item)</pre>
<div class="block">Sends a notification to all listeners when a ServiceItem has been
added.</div>
</li>
</ul>
<a name="addServiceNotify-net.jini.core.lookup.ServiceItem-net.jini.lookup.ServiceDiscoveryListener-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addServiceNotify</h4>
<pre>private&nbsp;void&nbsp;addServiceNotify(<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;item,
<a href="../../../net/jini/lookup/ServiceDiscoveryListener.html" title="interface in net.jini.lookup">ServiceDiscoveryListener</a>&nbsp;srvcListener)</pre>
<div class="block">Sends a notification to the given listener when a ServiceItem has
been added.</div>
</li>
</ul>
<a name="removeServiceNotify-net.jini.core.lookup.ServiceItem-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeServiceNotify</h4>
<pre>private&nbsp;void&nbsp;removeServiceNotify(<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;item)</pre>
<div class="block">Sends a notification when a ServiceItem has been removed.</div>
</li>
</ul>
<a name="changeServiceNotify-net.jini.core.lookup.ServiceItem-net.jini.core.lookup.ServiceItem-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>changeServiceNotify</h4>
<pre>private&nbsp;void&nbsp;changeServiceNotify(<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;newItem,
<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;oldItem)</pre>
<div class="block">Sends a notification when a ServiceItem has been changed, but still
matches.</div>
</li>
</ul>
<a name="serviceNotifyDo-net.jini.core.lookup.ServiceItem-net.jini.core.lookup.ServiceItem-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>serviceNotifyDo</h4>
<pre>private&nbsp;void&nbsp;serviceNotifyDo(<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;oldItem,
<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;item,
int&nbsp;action)</pre>
<div class="block">Common code for performing service notification to all listeners.</div>
</li>
</ul>
<a name="initCache--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initCache</h4>
<pre>private&nbsp;void&nbsp;initCache()
throws <a href="http://docs.oracle.com/javase/6/docs/api/java/rmi/RemoteException.html?is-external=true" title="class or interface in java.rmi">RemoteException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/rmi/RemoteException.html?is-external=true" title="class or interface in java.rmi">RemoteException</a></code></dd>
</dl>
</li>
</ul>
<a name="filterMaybeDiscard-net.jini.core.lookup.ServiceID-net.jini.lookup.ServiceDiscoveryManager.ServiceItemReg-net.jini.core.lookup.ServiceItem-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>filterMaybeDiscard</h4>
<pre>private&nbsp;<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;filterMaybeDiscard(<a href="../../../net/jini/core/lookup/ServiceID.html" title="class in net.jini.core.lookup">ServiceID</a>&nbsp;srvcID,
<a href="../../../net/jini/lookup/ServiceDiscoveryManager.ServiceItemReg.html" title="class in net.jini.lookup">ServiceDiscoveryManager.ServiceItemReg</a>&nbsp;itemReg,
<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;item,
boolean&nbsp;sendEvent)</pre>
<div class="block">Applies the first-stage <code>filter</code> associated with the
current instance of <code>LookupCache</code> to the given
<code>item</code> and returns the resulting filtered item if the
<code>filter</code> is passed (or is <code>null</code>); otherwise,
returns <code>null</code> and sends a service removed event if the
<code>sendEvent</code> parameter is <code>true</code>.
<p>
This method is called only when the <code>item</code> to be filtered
corresponds to an element that currently exists in the
<code>serviceIdMap</code>.
<p>
As described in the <code>ServiceItemFilter</code> specification,
when the <code>item</code> passes the <code>filter</code>, the
<code>service</code> field of the <code>item</code> is replaced with
the filtered form of the object previously contained in that field.
In this case, the <code>filteredItem</code> field of the
corresponding <code>ServiceItemReg</code> element of the
<code>serviceIdMap</code> is set to this new filtered item.
<p>
If the <code>filter</code> returns <code>indefinite</code>, then that
specification states that the <code>service</code> field is replaced
with <code>null</code>. In this case, the <code>filteredItem</code>
field of the corresponding <code>ServiceItemReg</code> element of the
<code>serviceIdMap</code> is left unchanged.</div>
</li>
</ul>
<a name="addFilteredItemToMap-net.jini.core.lookup.ServiceItem-net.jini.core.lookup.ServiceItem-net.jini.lookup.ServiceDiscoveryManager.ServiceItemReg-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addFilteredItemToMap</h4>
<pre>private&nbsp;<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;addFilteredItemToMap(<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;item,
<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;filteredItem,
<a href="../../../net/jini/lookup/ServiceDiscoveryManager.ServiceItemReg.html" title="class in net.jini.lookup">ServiceDiscoveryManager.ServiceItemReg</a>&nbsp;itemReg)</pre>
<div class="block">Convenience method called by <code>filterMaybeDiscard</code> that
finds the <code>ServiceItemReg</code> element in the
<code>serviceIdMap</code> that corresponds to the given
<code>ServiceItem</code> and, if such an element is found, replaces
the <code>item</code> field of that element with the given
<code>item</code> parameter; and sets the <code>filteredItem</code>
field of that element to the value contained in the
<code>filteredItem</code> parameter.</div>
</li>
</ul>
<a name="discardRetryLater-net.jini.core.lookup.ServiceItem-boolean-net.jini.lookup.ServiceDiscoveryManager.ServiceItemReg-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>discardRetryLater</h4>
<pre>private&nbsp;void&nbsp;discardRetryLater(<a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a>&nbsp;item,
boolean&nbsp;sendEvent,
<a href="../../../net/jini/lookup/ServiceDiscoveryManager.ServiceItemReg.html" title="class in net.jini.lookup">ServiceDiscoveryManager.ServiceItemReg</a>&nbsp;itemReg)</pre>
<div class="block">Convenience method called by <code>filterMaybeDiscard</code> that
finds in the <code>serviceIdMap</code>, the
<code>ServiceItemReg</code> element corresponding to the given
<code>ServiceItem</code>, sets a service removed event, and queues a
<code>ServiceDiscardTimerTask</code> to retry the filter at a later
time. If the <code>serviceIdMap</code> does not contain a
<code>ServiceItemReg</code> corresponding to the given
<code>ServiceItem</code>, then this method simply returns.</div>
</li>
</ul>
<a name="handleMatchNoMatch-net.jini.core.lookup.ServiceRegistrar-net.jini.core.lookup.ServiceID-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handleMatchNoMatch</h4>
<pre>private&nbsp;void&nbsp;handleMatchNoMatch(<a href="../../../net/jini/core/lookup/ServiceRegistrar.html" title="interface in net.jini.core.lookup">ServiceRegistrar</a>&nbsp;proxy,
<a href="../../../net/jini/core/lookup/ServiceID.html" title="class in net.jini.core.lookup">ServiceID</a>&nbsp;srvcID)</pre>
<div class="block">Convenience method called (only
when a TRANSITION_MATCH_NOMATCH event is received) that removes the
given <code>item</code> from the <code>serviceIdMap</code> and wakes
up the <code>ServiceDiscardTimerTask</code> if the given
<code>item</code> is discarded; otherwise, sends a removed event.</div>
</li>
</ul>
<a name="cancelDiscardTask-net.jini.core.lookup.ServiceID-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>cancelDiscardTask</h4>
<pre>private&nbsp;void&nbsp;cancelDiscardTask(<a href="../../../net/jini/core/lookup/ServiceID.html" title="class in net.jini.core.lookup">ServiceID</a>&nbsp;sid)</pre>
<div class="block">Wake up service discard task if running, else remove from mgr.</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/ServiceDiscoveryManager.LookupCacheImpl.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="../../../net/jini/lookup/ServiceDiscoveryManager.LeaseListenerImpl.html" title="class in net.jini.lookup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.LookupListener.html" title="class in net.jini.lookup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?net/jini/lookup/ServiceDiscoveryManager.LookupCacheImpl.html" target="_top">Frames</a></li>
<li><a href="ServiceDiscoveryManager.LookupCacheImpl.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><a href="#nested.class.summary">Nested</a>&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 2007-2013, multiple authors.<br>Licensed under the <a href=http://www.apache.org/licenses/LICENSE-2.0 target=child >Apache License, Version 2.0</a>, see the <a href=../../../doc-files/NOTICE target=child >NOTICE</a> file for attributions.</small></p>
</body>
</html>