blob: 42b45b8fd01dee0e7c7eaf33f2dc5c330f6d3110 [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 (version 1.7.0_25) on Mon Mar 31 09:56:27 CEST 2014 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>Tracker (Apache Felix iPOJO ~ JavaDoc 1.11.2 API)</title>
<meta name="date" content="2014-03-31">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Tracker (Apache Felix iPOJO ~ JavaDoc 1.11.2 API)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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="strong">Prev 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="strong">Next 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 Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All 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/7/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/7/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="strong">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="overviewSummary" 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><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.Tracked.html" title="class in org.apache.felix.ipojo.util">Tracker.Tracked</a></strong></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="overviewSummary" 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 <a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework">ServiceReference</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#m_cachedReference">m_cachedReference</a></strong></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/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#m_cachedService">m_cachedService</a></strong></code>
<div class="block">The cached service object for getService.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/BundleContext.html?is-external=true" title="class or interface in org.osgi.framework">BundleContext</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#m_context">m_context</a></strong></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><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#m_customizer">m_customizer</a></strong></code>
<div class="block">The TrackerCustomizer object for this tracker.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/Filter.html?is-external=true" title="class or interface in org.osgi.framework">Filter</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#m_filter">m_filter</a></strong></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/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#m_listenerFilter">m_listenerFilter</a></strong></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/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#m_trackClass">m_trackClass</a></strong></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><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#m_tracked">m_tracked</a></strong></code>
<div class="block">The tracked services: ServiceReference object -> customized.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework">ServiceReference</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#m_trackReference">m_trackReference</a></strong></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="overviewSummary" 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><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#Tracker(org.osgi.framework.BundleContext, org.osgi.framework.Filter, org.apache.felix.ipojo.util.TrackerCustomizer)">Tracker</a></strong>(<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/BundleContext.html?is-external=true" title="class or interface in org.osgi.framework">BundleContext</a>&nbsp;context,
<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/Filter.html?is-external=true" title="class or interface in org.osgi.framework">Filter</a>&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><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#Tracker(org.osgi.framework.BundleContext, org.osgi.framework.ServiceReference, org.apache.felix.ipojo.util.TrackerCustomizer)">Tracker</a></strong>(<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/BundleContext.html?is-external=true" title="class or interface in org.osgi.framework">BundleContext</a>&nbsp;context,
<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework">ServiceReference</a>&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><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#Tracker(org.osgi.framework.BundleContext, java.lang.String, org.apache.felix.ipojo.util.TrackerCustomizer)">Tracker</a></strong>(<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/BundleContext.html?is-external=true" title="class or interface in org.osgi.framework">BundleContext</a>&nbsp;context,
<a href="http://docs.oracle.com/javase/7/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="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#addedService(org.osgi.framework.ServiceReference)">addedService</a></strong>(<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework">ServiceReference</a>&nbsp;reference)</code>
<div class="block">Default implementation of the TrackerCustomizer.addedService method.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#addingService(org.osgi.framework.ServiceReference)">addingService</a></strong>(<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework">ServiceReference</a>&nbsp;reference)</code>
<div class="block">Default implementation of the TrackerCustomizer.addingService method.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#close()">close</a></strong>()</code>
<div class="block">Closes this Tracker object.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework">ServiceReference</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#getInitialReferences(java.lang.String, java.lang.String)">getInitialReferences</a></strong>(<a href="http://docs.oracle.com/javase/7/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/7/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 class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#getService()">getService</a></strong>()</code>
<div class="block">Returns a service object for one of the services being tracked by this Tracker object.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#getService(org.osgi.framework.ServiceReference)">getService</a></strong>(<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework">ServiceReference</a>&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 class="altColor">
<td class="colFirst"><code><a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework">ServiceReference</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#getServiceReference()">getServiceReference</a></strong>()</code>
<div class="block">Returns a ServiceReference object for one of the services being tracked by this Tracker object.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework">ServiceReference</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#getServiceReferences()">getServiceReferences</a></strong>()</code>
<div class="block">Returns an array of ServiceReference objects for all services being tracked by this Tracker object.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework">ServiceReference</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#getServiceReferencesList()">getServiceReferencesList</a></strong>()</code>
<div class="block">Gets the list of stored service references.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#getServices()">getServices</a></strong>()</code>
<div class="block">Returns an array of service objects for all services being tracked by this Tracker object.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework">ServiceReference</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#getUsedServiceReferences()">getUsedServiceReferences</a></strong>()</code>
<div class="block">Returns the list of references used by the tracker.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#modifiedService(org.osgi.framework.ServiceReference, java.lang.Object)">modifiedService</a></strong>(<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework">ServiceReference</a>&nbsp;reference,
<a href="http://docs.oracle.com/javase/7/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 class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#open()">open</a></strong>()</code>
<div class="block">Opens this Tracker object and begin tracking services.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#remove(org.osgi.framework.ServiceReference)">remove</a></strong>(<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework">ServiceReference</a>&nbsp;reference)</code>
<div class="block">Removes a service from this Tracker object.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#removedService(org.osgi.framework.ServiceReference, java.lang.Object)">removedService</a></strong>(<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework">ServiceReference</a>&nbsp;reference,
<a href="http://docs.oracle.com/javase/7/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 class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#size()">size</a></strong>()</code>
<div class="block">Returns the number of services being tracked by this Tracker object.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#ungetService(org.osgi.framework.ServiceReference)">ungetService</a></strong>(<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework">ServiceReference</a>&nbsp;reference)</code>
<div class="block">Ungets the given service reference.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/ipojo/util/Tracker.html#waitForService(long)">waitForService</a></strong>(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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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;<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/BundleContext.html?is-external=true" title="class or interface in org.osgi.framework">BundleContext</a> <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;<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/Filter.html?is-external=true" title="class or interface in org.osgi.framework">Filter</a> <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/7/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/7/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;<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework">ServiceReference</a> <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;<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework">ServiceReference</a> <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/7/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(org.osgi.framework.BundleContext, org.osgi.framework.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>(<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/BundleContext.html?is-external=true" title="class or interface in org.osgi.framework">BundleContext</a>&nbsp;context,
<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework">ServiceReference</a>&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="strong">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(org.osgi.framework.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>(<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/BundleContext.html?is-external=true" title="class or interface in org.osgi.framework">BundleContext</a>&nbsp;context,
<a href="http://docs.oracle.com/javase/7/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="strong">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(org.osgi.framework.BundleContext, org.osgi.framework.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>(<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/BundleContext.html?is-external=true" title="class or interface in org.osgi.framework">BundleContext</a>&nbsp;context,
<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/Filter.html?is-external=true" title="class or interface in org.osgi.framework">Filter</a>&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="strong">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;<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework">ServiceReference</a>[]&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/util/Tracker.html#line.220">getInitialReferences</a>(<a href="http://docs.oracle.com/javase/7/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/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filterString)
throws <a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/InvalidSyntaxException.html?is-external=true" title="class or interface in org.osgi.framework">InvalidSyntaxException</a></pre>
<div class="block">Returns the list of initial ServiceReference objects that will be tracked by this Tracker object.</div>
<dl><dt><span class="strong">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="strong">Returns:</span></dt><dd>the list of initial ServiceReference objects.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/InvalidSyntaxException.html?is-external=true" title="class or interface in org.osgi.framework">InvalidSyntaxException</a></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(org.osgi.framework.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>(<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework">ServiceReference</a>&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><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/felix/ipojo/util/TrackerCustomizer.html#addingService(org.osgi.framework.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="strong">Parameters:</span></dt><dd><code>reference</code> - the Reference to service being added to this Tracker object.</dd>
<dt><span class="strong">Returns:</span></dt><dd>The service object to be tracked for the service added to this Tracker object.</dd><dt><span class="strong">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(org.osgi.framework.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>(<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework">ServiceReference</a>&nbsp;reference)</pre>
<div class="block">Default implementation of the TrackerCustomizer.addedService method.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/felix/ipojo/util/TrackerCustomizer.html#addedService(org.osgi.framework.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="strong">Parameters:</span></dt><dd><code>reference</code> - the added reference.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/felix/ipojo/util/TrackerCustomizer.html#addedService(org.osgi.framework.ServiceReference)"><code>TrackerCustomizer.addedService(org.osgi.framework.ServiceReference)</code></a></dd></dl>
</li>
</ul>
<a name="modifiedService(org.osgi.framework.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>(<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework">ServiceReference</a>&nbsp;reference,
<a href="http://docs.oracle.com/javase/7/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><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/felix/ipojo/util/TrackerCustomizer.html#modifiedService(org.osgi.framework.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="strong">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="strong">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(org.osgi.framework.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>(<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework">ServiceReference</a>&nbsp;reference,
<a href="http://docs.oracle.com/javase/7/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><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/felix/ipojo/util/TrackerCustomizer.html#removedService(org.osgi.framework.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="strong">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="strong">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/7/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/7/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="strong">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="strong">Returns:</span></dt><dd>Returns the result of getService().</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/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;<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework">ServiceReference</a>[]&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="strong">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/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework">ServiceReference</a>&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="strong">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/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework">ServiceReference</a>&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="strong">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;<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework">ServiceReference</a>&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="strong">Returns:</span></dt><dd>ServiceReference object or null if no service is being tracked.</dd><dt><span class="strong">Since:</span></dt>
<dd>1.1</dd></dl>
</li>
</ul>
<a name="getService(org.osgi.framework.ServiceReference)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getService</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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>(<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework">ServiceReference</a>&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="strong">Parameters:</span></dt><dd><code>reference</code> - the Reference to the desired service.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the Service object. Try to get the service if not yet tracked.</dd></dl>
</li>
</ul>
<a name="ungetService(org.osgi.framework.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>(<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework">ServiceReference</a>&nbsp;reference)</pre>
<div class="block">Ungets the given service reference.</div>
<dl><dt><span class="strong">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/7/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="strong">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/7/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="strong">Returns:</span></dt><dd>Service object or <code>null</code> if no service is being tracked.</dd></dl>
</li>
</ul>
<a name="remove(org.osgi.framework.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>(<a href="http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework">ServiceReference</a>&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="strong">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="strong">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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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="strong">Prev 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="strong">Next 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 Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All 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>