blob: faccd694008982ecd3d31e32886141c1f5341317 [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 Wed Dec 24 15:58:27 CET 2014 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Tracker (Apache Felix iPOJO ~ JavaDoc 1.12.1 API)</title>
<meta name="date" content="2014-12-24">
<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="Tracker (Apache Felix iPOJO ~ JavaDoc 1.12.1 API)";
}
}
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};
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/Tracker.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>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/felix/ipojo/util/SystemPropertiesSource.html" title="class in org.apache.felix.ipojo.util"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/felix/ipojo/util/Tracker.Tracked.html" title="class in org.apache.felix.ipojo.util"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/felix/ipojo/util/Tracker.html" target="_top">Frames</a></li>
<li><a href="Tracker.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">org.apache.felix.ipojo.util</div>
<h2 title="Class Tracker" class="title">Class Tracker</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.felix.ipojo.util.Tracker</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../org/apache/felix/ipojo/util/TrackerCustomizer.html" title="interface in org.apache.felix.ipojo.util">TrackerCustomizer</a></dd>
</dl>
<hr>
<br>
<pre>public class <a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.43">Tracker</a>
extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../org/apache/felix/ipojo/util/TrackerCustomizer.html" title="interface in org.apache.felix.ipojo.util">TrackerCustomizer</a></pre>
<div class="block">Utility class close to the OSGi Service Tracker.
This class is used when tracking dynamic services is required.</div>
<dl>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd><a href="mailto:dev@felix.apache.org">Felix Project Team</a></dd>
</dl>
</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>(package private) class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.Tracked.html" title="class in org.apache.felix.ipojo.util">Tracker.Tracked</a></span></code>
<div class="block">Inner class to track services.</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 ServiceReference</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#m_cachedReference">m_cachedReference</a></span></code>
<div class="block">The cached ServiceReference for getServiceReference.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#m_cachedService">m_cachedService</a></span></code>
<div class="block">The cached service object for getService.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected BundleContext</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#m_context">m_context</a></span></code>
<div class="block">The bundle context against which this Tracker object is tracking.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/felix/ipojo/util/TrackerCustomizer.html" title="interface in org.apache.felix.ipojo.util">TrackerCustomizer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#m_customizer">m_customizer</a></span></code>
<div class="block">The TrackerCustomizer object for this tracker.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected Filter</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#m_filter">m_filter</a></span></code>
<div class="block">the filter specifying search criteria for the services to track.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#m_listenerFilter">m_listenerFilter</a></span></code>
<div class="block">The filter string for use when adding the ServiceListener.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#m_trackClass">m_trackClass</a></span></code>
<div class="block">The class name to be tracked.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/felix/ipojo/util/Tracker.Tracked.html" title="class in org.apache.felix.ipojo.util">Tracker.Tracked</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#m_tracked">m_tracked</a></span></code>
<div class="block">The tracked services: ServiceReference object -> customized.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private ServiceReference</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#m_trackReference">m_trackReference</a></span></code>
<div class="block">The reference to be tracked.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#Tracker-BundleContext-Filter-org.apache.felix.ipojo.util.TrackerCustomizer-">Tracker</a></span>(BundleContext&nbsp;context,
Filter&nbsp;filter,
<a href="../../../../../org/apache/felix/ipojo/util/TrackerCustomizer.html" title="interface in org.apache.felix.ipojo.util">TrackerCustomizer</a>&nbsp;customizer)</code>
<div class="block">Creates a Tracker object on the specified Filter object.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#Tracker-BundleContext-ServiceReference-org.apache.felix.ipojo.util.TrackerCustomizer-">Tracker</a></span>(BundleContext&nbsp;context,
ServiceReference&nbsp;reference,
<a href="../../../../../org/apache/felix/ipojo/util/TrackerCustomizer.html" title="interface in org.apache.felix.ipojo.util">TrackerCustomizer</a>&nbsp;customizer)</code>
<div class="block">Creates a Tracker object on the specified ServiceReference object.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#Tracker-BundleContext-java.lang.String-org.apache.felix.ipojo.util.TrackerCustomizer-">Tracker</a></span>(BundleContext&nbsp;context,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clazz,
<a href="../../../../../org/apache/felix/ipojo/util/TrackerCustomizer.html" title="interface in org.apache.felix.ipojo.util">TrackerCustomizer</a>&nbsp;customizer)</code>
<div class="block">Creates a Tracker object on the specified class name.</div>
</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>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#addedService-ServiceReference-">addedService</a></span>(ServiceReference&nbsp;reference)</code>
<div class="block">Default implementation of the TrackerCustomizer.addedService method.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#addingService-ServiceReference-">addingService</a></span>(ServiceReference&nbsp;reference)</code>
<div class="block">Default implementation of the TrackerCustomizer.addingService method.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#close--">close</a></span>()</code>
<div class="block">Closes this Tracker object.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>private ServiceReference[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#getInitialReferences-java.lang.String-java.lang.String-">getInitialReferences</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;trackClass,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filterString)</code>
<div class="block">Returns the list of initial ServiceReference objects that will be tracked by this Tracker object.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#getService--">getService</a></span>()</code>
<div class="block">Returns a service object for one of the services being tracked by this Tracker object.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#getService-ServiceReference-">getService</a></span>(ServiceReference&nbsp;reference)</code>
<div class="block">Returns the service object for the specified ServiceReference object if the referenced service is being tracked by this Tracker object.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>ServiceReference</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#getServiceReference--">getServiceReference</a></span>()</code>
<div class="block">Returns a ServiceReference object for one of the services being tracked by this Tracker object.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>ServiceReference[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#getServiceReferences--">getServiceReferences</a></span>()</code>
<div class="block">Returns an array of ServiceReference objects for all services being tracked by this Tracker object.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;ServiceReference&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#getServiceReferencesList--">getServiceReferencesList</a></span>()</code>
<div class="block">Gets the list of stored service references.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#getServices--">getServices</a></span>()</code>
<div class="block">Returns an array of service objects for all services being tracked by this Tracker object.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;ServiceReference&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#getUsedServiceReferences--">getUsedServiceReferences</a></span>()</code>
<div class="block">Returns the list of references used by the tracker.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#modifiedService-ServiceReference-java.lang.Object-">modifiedService</a></span>(ServiceReference&nbsp;reference,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;service)</code>
<div class="block">Default implementation of the TrackerCustomizer.modifiedService method.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#open--">open</a></span>()</code>
<div class="block">Opens this Tracker object and begin tracking services.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#remove-ServiceReference-">remove</a></span>(ServiceReference&nbsp;reference)</code>
<div class="block">Removes a service from this Tracker object.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#removedService-ServiceReference-java.lang.Object-">removedService</a></span>(ServiceReference&nbsp;reference,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;service)</code>
<div class="block">Default implementation of the TrackerCustomizer.removedService method.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#size--">size</a></span>()</code>
<div class="block">Returns the number of services being tracked by this Tracker object.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#ungetService-ServiceReference-">ungetService</a></span>(ServiceReference&nbsp;reference)</code>
<div class="block">Ungets the given service reference.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#waitForService-long-">waitForService</a></span>(long&nbsp;timeout)</code>
<div class="block">Waits for at least one service to be tracked by this Tracker object.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="m_context">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_context</h4>
<pre>protected&nbsp;BundleContext <a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.48">m_context</a></pre>
<div class="block">The bundle context against which this Tracker object is tracking.</div>
</li>
</ul>
<a name="m_filter">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_filter</h4>
<pre>protected&nbsp;Filter <a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.53">m_filter</a></pre>
<div class="block">the filter specifying search criteria for the services to track.</div>
</li>
</ul>
<a name="m_customizer">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_customizer</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/felix/ipojo/util/TrackerCustomizer.html" title="interface in org.apache.felix.ipojo.util">TrackerCustomizer</a> <a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.58">m_customizer</a></pre>
<div class="block">The TrackerCustomizer object for this tracker.</div>
</li>
</ul>
<a name="m_listenerFilter">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_listenerFilter</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.64">m_listenerFilter</a></pre>
<div class="block">The filter string for use when adding the ServiceListener.
If this field is set, then certain optimizations can be taken since we don't have a user supplied filter.</div>
</li>
</ul>
<a name="m_trackClass">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_trackClass</h4>
<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.70">m_trackClass</a></pre>
<div class="block">The class name to be tracked. If this field is set, then we are
tracking by class name.</div>
</li>
</ul>
<a name="m_trackReference">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_trackReference</h4>
<pre>private&nbsp;ServiceReference <a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.76">m_trackReference</a></pre>
<div class="block">The reference to be tracked. If this field is set, then we are
tracking a single ServiceReference.</div>
</li>
</ul>
<a name="m_tracked">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_tracked</h4>
<pre>private&nbsp;<a href="../../../../../org/apache/felix/ipojo/util/Tracker.Tracked.html" title="class in org.apache.felix.ipojo.util">Tracker.Tracked</a> <a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.82">m_tracked</a></pre>
<div class="block">The tracked services: ServiceReference object -> customized.
Object and ServiceListener object</div>
</li>
</ul>
<a name="m_cachedReference">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_cachedReference</h4>
<pre>private volatile&nbsp;ServiceReference <a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.88">m_cachedReference</a></pre>
<div class="block">The cached ServiceReference for getServiceReference.
This field is volatile since it is accessed by multiple threads.</div>
</li>
</ul>
<a name="m_cachedService">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>m_cachedService</h4>
<pre>private volatile&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> <a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.94">m_cachedService</a></pre>
<div class="block">The cached service object for getService. This field is volatile
since it is accessed by multiple threads.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="Tracker-BundleContext-ServiceReference-org.apache.felix.ipojo.util.TrackerCustomizer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Tracker</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.104">Tracker</a>(BundleContext&nbsp;context,
ServiceReference&nbsp;reference,
<a href="../../../../../org/apache/felix/ipojo/util/TrackerCustomizer.html" title="interface in org.apache.felix.ipojo.util">TrackerCustomizer</a>&nbsp;customizer)</pre>
<div class="block">Creates a Tracker object on the specified ServiceReference object.
The service referenced by the specified ServiceReference object will be tracked by this Tracker.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>context</code> - The BundleContext object against which the tracking is done.</dd>
<dd><code>reference</code> - The ServiceReference object for the service to be tracked.</dd>
<dd><code>customizer</code> - The customizer object to call when services are added, modified, or removed in this Tracker object. If customizer is null, then this Tracker object will be used as
the TrackerCustomizer object and the Tracker object will call the TrackerCustomizer methods on itself.</dd>
</dl>
</li>
</ul>
<a name="Tracker-BundleContext-java.lang.String-org.apache.felix.ipojo.util.TrackerCustomizer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Tracker</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.129">Tracker</a>(BundleContext&nbsp;context,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clazz,
<a href="../../../../../org/apache/felix/ipojo/util/TrackerCustomizer.html" title="interface in org.apache.felix.ipojo.util">TrackerCustomizer</a>&nbsp;customizer)</pre>
<div class="block">Creates a Tracker object on the specified class name.
Services registered under the specified class name will be tracked by this Tracker object.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>context</code> - the BundleContext object against which the tracking is done.</dd>
<dd><code>clazz</code> - the Class name of the services to be tracked.</dd>
<dd><code>customizer</code> - the customizer object to call when services are added, modified, or removed in this Tracker object. If customizer is null, then this Tracker object will be used as
the TrackerCustomizer object and the Tracker object will call the TrackerCustomizer methods on itself.</dd>
</dl>
</li>
</ul>
<a name="Tracker-BundleContext-Filter-org.apache.felix.ipojo.util.TrackerCustomizer-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Tracker</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.163">Tracker</a>(BundleContext&nbsp;context,
Filter&nbsp;filter,
<a href="../../../../../org/apache/felix/ipojo/util/TrackerCustomizer.html" title="interface in org.apache.felix.ipojo.util">TrackerCustomizer</a>&nbsp;customizer)</pre>
<div class="block">Creates a Tracker object on the specified Filter object.
<p>
Services which match the specified Filter object will be tracked by this Tracker object.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>context</code> - the BundleContext object against which the tracking is done.</dd>
<dd><code>filter</code> - the Filter object to select the services to be tracked.</dd>
<dd><code>customizer</code> - The customizer object to call when services are added, modified, or removed in this Tracker object. If customizer is null, then this Tracker object will be used as the
TrackerCustomizer object and the Tracker object will call the TrackerCustomizer methods on itself.</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="open--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>open</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.184">open</a>()</pre>
<div class="block">Opens this Tracker object and begin tracking services.
<p>
Services which match the search criteria specified when this Tracker object was created are now tracked by this Tracker object.</div>
</li>
</ul>
<a name="getInitialReferences-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInitialReferences</h4>
<pre>private&nbsp;ServiceReference[]&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.220">getInitialReferences</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;trackClass,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filterString)
throws InvalidSyntaxException</pre>
<div class="block">Returns the list of initial ServiceReference objects that will be tracked by this Tracker object.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>trackClass</code> - the class name with which the service was registered, or null for all services.</dd>
<dd><code>filterString</code> - the filter criteria or null for all services.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list of initial ServiceReference objects.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>InvalidSyntaxException</code> - if the filter uses an invalid syntax.</dd>
</dl>
</li>
</ul>
<a name="close--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.229">close</a>()</pre>
<div class="block">Closes this Tracker object.
<p>
This method should be called when this Tracker object should end the tracking of services.</div>
</li>
</ul>
<a name="addingService-ServiceReference-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addingService</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.261">addingService</a>(ServiceReference&nbsp;reference)</pre>
<div class="block">Default implementation of the TrackerCustomizer.addingService method.
<p>
This method is only called when this Tracker object has been constructed with a null TrackerCustomizer argument. The default implementation returns the result of calling getService,
on the BundleContext object with which this Tracker object was created, passing the specified ServiceReference object.
<p>
This method can be overridden in a subclass to customize the service object to be tracked for the service being added. In that case, take care not to rely on the default implementation of removedService that will unget the service.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/felix/ipojo/util/TrackerCustomizer.html#addingService-ServiceReference-">addingService</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/felix/ipojo/util/TrackerCustomizer.html" title="interface in org.apache.felix.ipojo.util">TrackerCustomizer</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>reference</code> - the Reference to service being added to this Tracker object.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The service object to be tracked for the service added to this Tracker object.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/apache/felix/ipojo/util/TrackerCustomizer.html" title="interface in org.apache.felix.ipojo.util"><code>TrackerCustomizer</code></a></dd>
</dl>
</li>
</ul>
<a name="addedService-ServiceReference-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addedService</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.270">addedService</a>(ServiceReference&nbsp;reference)</pre>
<div class="block">Default implementation of the TrackerCustomizer.addedService method.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/felix/ipojo/util/TrackerCustomizer.html#addedService-ServiceReference-">addedService</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/felix/ipojo/util/TrackerCustomizer.html" title="interface in org.apache.felix.ipojo.util">TrackerCustomizer</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>reference</code> - the added reference.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>org.apache.felix.ipojo.util.TrackerCustomizer#addedService(org.osgi.framework.ServiceReference)</code></dd>
</dl>
</li>
</ul>
<a name="modifiedService-ServiceReference-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>modifiedService</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.282">modifiedService</a>(ServiceReference&nbsp;reference,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;service)</pre>
<div class="block">Default implementation of the TrackerCustomizer.modifiedService method.
<p>
This method is only called when this Tracker object has been constructed with a null TrackerCustomizer argument. The default implementation does nothing.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/felix/ipojo/util/TrackerCustomizer.html#modifiedService-ServiceReference-java.lang.Object-">modifiedService</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/felix/ipojo/util/TrackerCustomizer.html" title="interface in org.apache.felix.ipojo.util">TrackerCustomizer</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>reference</code> - the Reference to modified service.</dd>
<dd><code>service</code> - The service object for the modified service.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/apache/felix/ipojo/util/TrackerCustomizer.html" title="interface in org.apache.felix.ipojo.util"><code>TrackerCustomizer</code></a></dd>
</dl>
</li>
</ul>
<a name="removedService-ServiceReference-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removedService</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.297">removedService</a>(ServiceReference&nbsp;reference,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;service)</pre>
<div class="block">Default implementation of the TrackerCustomizer.removedService method.
<p>
This method is only called when this Tracker object has been constructed with a null TrackerCustomizer argument. The default implementation calls ungetService, on the
BundleContext object with which this Tracker object was created, passing the specified ServiceReference object.
<p>
This method can be overridden in a subclass. If the default implementation of addingService method was used, this method must unget the service.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/felix/ipojo/util/TrackerCustomizer.html#removedService-ServiceReference-java.lang.Object-">removedService</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/felix/ipojo/util/TrackerCustomizer.html" title="interface in org.apache.felix.ipojo.util">TrackerCustomizer</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>reference</code> - the Reference to removed service.</dd>
<dd><code>service</code> - The service object for the removed service.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/apache/felix/ipojo/util/TrackerCustomizer.html" title="interface in org.apache.felix.ipojo.util"><code>TrackerCustomizer</code></a></dd>
</dl>
</li>
</ul>
<a name="waitForService-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>waitForService</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.309">waitForService</a>(long&nbsp;timeout)
throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
<div class="block">Waits for at least one service to be tracked by this Tracker object.
<p>
It is strongly recommended that waitForService is not used during the calling of the BundleActivator methods. BundleActivator methods are expected to complete in a short period of time.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>timeout</code> - the time interval in milliseconds to wait. If zero, the method will wait indefinately.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Returns the result of getService().</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code> - If another thread has interrupted the current thread.</dd>
</dl>
</li>
</ul>
<a name="getServiceReferences--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServiceReferences</h4>
<pre>public&nbsp;ServiceReference[]&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.332">getServiceReferences</a>()</pre>
<div class="block">Returns an array of ServiceReference objects for all services being tracked by this Tracker object.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Array of ServiceReference objects or <code>null</code> if no service are being tracked.</dd>
</dl>
</li>
</ul>
<a name="getServiceReferencesList--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServiceReferencesList</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;ServiceReference&gt;&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.353">getServiceReferencesList</a>()</pre>
<div class="block">Gets the list of stored service references.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list containing service references</dd>
</dl>
</li>
</ul>
<a name="getUsedServiceReferences--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUsedServiceReferences</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;ServiceReference&gt;&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.374">getUsedServiceReferences</a>()</pre>
<div class="block">Returns the list of references used by the tracker.
A reference becomes used when the dependency has already
called getService on this reference.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list of used references.</dd>
</dl>
</li>
</ul>
<a name="getServiceReference--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServiceReference</h4>
<pre>public&nbsp;ServiceReference&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.398">getServiceReference</a>()</pre>
<div class="block">Returns a ServiceReference object for one of the services being tracked by this Tracker object.
If multiple services are being tracked, the service with the highest ranking (as specified in its service.ranking property) is returned.
If there is a tie in ranking, the service with the lowest service ID (as specified in its service.id property); that is, the service that was registered first is returned.
This is the same algorithm used by BundleContext.getServiceReference.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>ServiceReference object or null if no service is being tracked.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1</dd>
</dl>
</li>
</ul>
<a name="getService-ServiceReference-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getService</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.416">getService</a>(ServiceReference&nbsp;reference)</pre>
<div class="block">Returns the service object for the specified ServiceReference object if the referenced service is being tracked by this Tracker object.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>reference</code> - the Reference to the desired service.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the Service object. Try to get the service if not yet tracked.</dd>
</dl>
</li>
</ul>
<a name="ungetService-ServiceReference-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ungetService</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.449">ungetService</a>(ServiceReference&nbsp;reference)</pre>
<div class="block">Ungets the given service reference.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>reference</code> - the service reference to unget.</dd>
</dl>
</li>
</ul>
<a name="getServices--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServices</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.467">getServices</a>()</pre>
<div class="block">Returns an array of service objects for all services being tracked by this Tracker object.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Array of service objects or <code>null</code> if no service are being tracked.</dd>
</dl>
</li>
</ul>
<a name="getService--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getService</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.494">getService</a>()</pre>
<div class="block">Returns a service object for one of the services being tracked by this Tracker object.
<p>
If any services are being tracked, this method returns the result of calling getService(getServiceReference()).</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Service object or <code>null</code> if no service is being tracked.</dd>
</dl>
</li>
</ul>
<a name="remove-ServiceReference-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remove</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.507">remove</a>(ServiceReference&nbsp;reference)</pre>
<div class="block">Removes a service from this Tracker object. The specified service will be removed from this Tracker object. If the specified service was being tracked then the
TrackerCustomizer.removedService method will be called for that service.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>reference</code> - the Reference to the service to be removed.</dd>
</dl>
</li>
</ul>
<a name="size--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>size</h4>
<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.519">size</a>()</pre>
<div class="block">Returns the number of services being tracked by this Tracker object.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the Number of services being tracked.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Tracker.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>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/felix/ipojo/util/SystemPropertiesSource.html" title="class in org.apache.felix.ipojo.util"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/felix/ipojo/util/Tracker.Tracked.html" title="class in org.apache.felix.ipojo.util"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/felix/ipojo/util/Tracker.html" target="_top">Frames</a></li>
<li><a href="Tracker.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 &#169; 2014. All rights reserved.</small></p>
</body>
</html>