This file is indexed.

/usr/share/doc/libosgi-core-java/api/org/osgi/framework/wiring/FrameworkWiring.html is in libosgi-core-java-doc 6.0.0-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>FrameworkWiring</title>
<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="FrameworkWiring";
    }
//-->
</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="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/osgi/framework/wiring/BundleWiring.html" title="interface in org.osgi.framework.wiring"><span class="strong">Prev Class</span></a></li>
<li>Next Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/osgi/framework/wiring/FrameworkWiring.html" target="_top">Frames</a></li>
<li><a href="FrameworkWiring.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>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.osgi.framework.wiring</div>
<h2 title="Interface FrameworkWiring" class="title">Interface FrameworkWiring</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../../../org/osgi/framework/BundleReference.html" title="interface in org.osgi.framework">BundleReference</a></dd>
</dl>
<hr>
<br>
<pre>@ProviderType
public interface <span class="strong">FrameworkWiring</span>
extends <a href="../../../../org/osgi/framework/BundleReference.html" title="interface in org.osgi.framework">BundleReference</a></pre>
<div class="block">Query and modify wiring information for the framework. The framework wiring
 object for the framework can be obtained by calling
 <a href="../../../../org/osgi/framework/Bundle.html#adapt(java.lang.Class)"><code>bundle.adapt(FrameworkWiring.class)</code></a> on the system
 bundle. Only the system bundle can be adapted to a FrameworkWiring object.
 
 <p>
 The system bundle associated with this FrameworkWiring object can be obtained
 by calling <a href="../../../../org/osgi/framework/BundleReference.html#getBundle()"><code>BundleReference.getBundle()</code></a>.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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>java.util.Collection&lt;<a href="../../../../org/osgi/framework/wiring/BundleCapability.html" title="interface in org.osgi.framework.wiring">BundleCapability</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/osgi/framework/wiring/FrameworkWiring.html#findProviders(org.osgi.resource.Requirement)">findProviders</a></strong>(<a href="../../../../org/osgi/resource/Requirement.html" title="interface in org.osgi.resource">Requirement</a>&nbsp;requirement)</code>
<div class="block">Find bundle capabilities that match the given requirement.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.Collection&lt;<a href="../../../../org/osgi/framework/Bundle.html" title="interface in org.osgi.framework">Bundle</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/osgi/framework/wiring/FrameworkWiring.html#getDependencyClosure(java.util.Collection)">getDependencyClosure</a></strong>(java.util.Collection&lt;<a href="../../../../org/osgi/framework/Bundle.html" title="interface in org.osgi.framework">Bundle</a>&gt;&nbsp;bundles)</code>
<div class="block">Returns the dependency closure for the specified bundles.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.Collection&lt;<a href="../../../../org/osgi/framework/Bundle.html" title="interface in org.osgi.framework">Bundle</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/osgi/framework/wiring/FrameworkWiring.html#getRemovalPendingBundles()">getRemovalPendingBundles</a></strong>()</code>
<div class="block">Returns the bundles that have <a href="../../../../org/osgi/framework/wiring/BundleWiring.html#isCurrent()"><code>non-current</code></a>, <a href="../../../../org/osgi/framework/wiring/BundleWiring.html#isInUse()"><code>in use</code></a> bundle wirings.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/osgi/framework/wiring/FrameworkWiring.html#refreshBundles(java.util.Collection,%20org.osgi.framework.FrameworkListener...)">refreshBundles</a></strong>(java.util.Collection&lt;<a href="../../../../org/osgi/framework/Bundle.html" title="interface in org.osgi.framework">Bundle</a>&gt;&nbsp;bundles,
              <a href="../../../../org/osgi/framework/FrameworkListener.html" title="interface in org.osgi.framework">FrameworkListener</a>...&nbsp;listeners)</code>
<div class="block">Refreshes the specified bundles.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/osgi/framework/wiring/FrameworkWiring.html#resolveBundles(java.util.Collection)">resolveBundles</a></strong>(java.util.Collection&lt;<a href="../../../../org/osgi/framework/Bundle.html" title="interface in org.osgi.framework">Bundle</a>&gt;&nbsp;bundles)</code>
<div class="block">Resolves the specified bundles.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.osgi.framework.BundleReference">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.osgi.framework.<a href="../../../../org/osgi/framework/BundleReference.html" title="interface in org.osgi.framework">BundleReference</a></h3>
<code><a href="../../../../org/osgi/framework/BundleReference.html#getBundle()">getBundle</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="refreshBundles(java.util.Collection, org.osgi.framework.FrameworkListener...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>refreshBundles</h4>
<pre>void&nbsp;refreshBundles(java.util.Collection&lt;<a href="../../../../org/osgi/framework/Bundle.html" title="interface in org.osgi.framework">Bundle</a>&gt;&nbsp;bundles,
                  <a href="../../../../org/osgi/framework/FrameworkListener.html" title="interface in org.osgi.framework">FrameworkListener</a>...&nbsp;listeners)</pre>
<div class="block">Refreshes the specified bundles. This forces the update (replacement) or
 removal of packages exported by the specified bundles.
 
 <p>
 The technique by which the framework refreshes bundles may vary among
 different framework implementations. A permissible implementation is to
 stop and restart the framework.
 
 <p>
 This method returns to the caller immediately and then performs the
 following steps on a separate thread:
 
 <ol>
 <li>Compute the <a href="../../../../org/osgi/framework/wiring/FrameworkWiring.html#getDependencyClosure(java.util.Collection)"><code>dependency
 closure</code></a> of the specified bundles. If no bundles are specified, compute
 the dependency closure of the <a href="../../../../org/osgi/framework/wiring/FrameworkWiring.html#getRemovalPendingBundles()"><code>removal
 pending</code></a> bundles.</li>
 <li>Each bundle in the dependency closure that is in the <code>ACTIVE</code>
 state will be stopped as described in the <code>Bundle.stop</code> method.</li>
 <li>Each bundle in the dependency closure that is in the <code>RESOLVED</code>
 state is unresolved and thus moved to the <code>INSTALLED</code> state. The
 effect of this step is that bundles in the dependency closure are no
 longer <code>RESOLVED</code>.</li>
 <li>Each bundle in the dependency closure that is in the
 <code>UNINSTALLED</code> state is removed from the dependency closure and is
 now completely removed from the Framework.</li>
 <li>Each bundle in the dependency closure that was in the <code>ACTIVE</code>
 state prior to Step 2 is started as described in the <code>Bundle.start</code>
 method, causing all bundles required for the restart to be resolved. It
 is possible that, as a result of the previous steps, packages that were
 previously exported no longer are. Therefore, some bundles may be
 unresolvable until bundles satisfying the dependencies have been
 installed in the Framework.</li>
 </ol>
 
 <p>
 For any exceptions that are thrown during any of these steps, a framework
 event of type <code>FrameworkEvent.ERROR</code> is fired containing the
 exception. The source bundle for these events should be the specific
 bundle to which the exception is related. If no specific bundle can be
 associated with the exception then the System Bundle must be used as the
 source bundle for the event. All framework events fired by this method
 are also delivered to the specified <code>FrameworkListener</code>s in the
 order they are specified.
 
 <p>
 When this process completes after the bundles are refreshed, the
 Framework will fire a Framework event of type
 <code>FrameworkEvent.PACKAGES_REFRESHED</code> to announce it has completed
 the bundle refresh. The specified <code>FrameworkListener</code>s are notified
 in the order specified. Each specified <code>FrameworkListener</code> will be
 called with a Framework event of type
 <code>FrameworkEvent.PACKAGES_REFRESHED</code>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>bundles</code> - The bundles to be refreshed, or <code>null</code> to refresh
        the <a href="../../../../org/osgi/framework/wiring/FrameworkWiring.html#getRemovalPendingBundles()"><code>removal pending</code></a> bundles.</dd><dd><code>listeners</code> - Zero or more listeners to be notified when the bundle
        refresh has been completed. The specified listeners do not need to
        be otherwise registered with the framework. If a specified
        listener is already registered with the framework, it will be
        notified twice.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - If the specified <code>Bundle</code>s were
         not created by the same framework instance associated with this
         FrameworkWiring.</dd>
<dd><code>java.lang.SecurityException</code> - If the caller does not have
         <code>AdminPermission[System Bundle,RESOLVE]</code> and the Java
         runtime environment supports permissions.</dd></dl>
</li>
</ul>
<a name="resolveBundles(java.util.Collection)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>resolveBundles</h4>
<pre>boolean&nbsp;resolveBundles(java.util.Collection&lt;<a href="../../../../org/osgi/framework/Bundle.html" title="interface in org.osgi.framework">Bundle</a>&gt;&nbsp;bundles)</pre>
<div class="block">Resolves the specified bundles. The Framework must attempt to resolve the
 specified bundles that are unresolved. Additional bundles that are not
 included in the specified bundles may be resolved as a result of calling
 this method. A permissible implementation of this method is to attempt to
 resolve all unresolved bundles installed in the framework.
 
 <p>
 If no bundles are specified, then the Framework will attempt to resolve
 all unresolved bundles. This method must not cause any bundle to be
 refreshed, stopped, or started. This method will not return until the
 operation has completed.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>bundles</code> - The bundles to resolve or <code>null</code> to resolve all
        unresolved bundles installed in the Framework.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if all specified bundles are resolved; <code>false</code>
         otherwise.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - If the specified <code>Bundle</code>s were
         not created by the same framework instance associated with this
         FrameworkWiring.</dd>
<dd><code>java.lang.SecurityException</code> - If the caller does not have
         <code>AdminPermission[System Bundle,RESOLVE]</code> and the Java
         runtime environment supports permissions.</dd></dl>
</li>
</ul>
<a name="getRemovalPendingBundles()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRemovalPendingBundles</h4>
<pre>java.util.Collection&lt;<a href="../../../../org/osgi/framework/Bundle.html" title="interface in org.osgi.framework">Bundle</a>&gt;&nbsp;getRemovalPendingBundles()</pre>
<div class="block">Returns the bundles that have <a href="../../../../org/osgi/framework/wiring/BundleWiring.html#isCurrent()"><code>non-current</code></a>, <a href="../../../../org/osgi/framework/wiring/BundleWiring.html#isInUse()"><code>in use</code></a> bundle wirings. This
 is typically the bundles which have been updated or uninstalled since the
 last call to <a href="../../../../org/osgi/framework/wiring/FrameworkWiring.html#refreshBundles(java.util.Collection,%20org.osgi.framework.FrameworkListener...)"><code>refreshBundles(Collection, FrameworkListener...)</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>A collection containing a snapshot of the <code>Bundle</code>s which
         have non-current, in use <code>BundleWiring</code>s, or an empty
         collection if there are no such bundles.</dd></dl>
</li>
</ul>
<a name="getDependencyClosure(java.util.Collection)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDependencyClosure</h4>
<pre>java.util.Collection&lt;<a href="../../../../org/osgi/framework/Bundle.html" title="interface in org.osgi.framework">Bundle</a>&gt;&nbsp;getDependencyClosure(java.util.Collection&lt;<a href="../../../../org/osgi/framework/Bundle.html" title="interface in org.osgi.framework">Bundle</a>&gt;&nbsp;bundles)</pre>
<div class="block">Returns the dependency closure for the specified bundles.
 
 <p>
 A graph of bundles is computed starting with the specified bundles. The
 graph is expanded by adding any bundle that is either wired to a package
 that is currently exported by a bundle in the graph or requires a bundle
 in the graph. The graph is fully constructed when there is no bundle
 outside the graph that is wired to a bundle in the graph. The graph may
 contain <code>UNINSTALLED</code> bundles that are
 <a href="../../../../org/osgi/framework/wiring/FrameworkWiring.html#getRemovalPendingBundles()"><code>removal pending</code></a>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>bundles</code> - The initial bundles for which to generate the dependency
        closure.</dd>
<dt><span class="strong">Returns:</span></dt><dd>A collection containing a snapshot of the dependency closure of
         the specified bundles, or an empty collection if there were no
         specified bundles.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - If the specified <code>Bundle</code>s were
         not created by the same framework instance associated with this
         FrameworkWiring.</dd></dl>
</li>
</ul>
<a name="findProviders(org.osgi.resource.Requirement)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>findProviders</h4>
<pre>java.util.Collection&lt;<a href="../../../../org/osgi/framework/wiring/BundleCapability.html" title="interface in org.osgi.framework.wiring">BundleCapability</a>&gt;&nbsp;findProviders(<a href="../../../../org/osgi/resource/Requirement.html" title="interface in org.osgi.resource">Requirement</a>&nbsp;requirement)</pre>
<div class="block">Find bundle capabilities that match the given requirement.
 
 <p>
 The returned collection contains <a href="../../../../org/osgi/framework/wiring/BundleCapability.html" title="interface in org.osgi.framework.wiring"><code>BundleCapability</code></a> objects where
 the revision must be the <a href="../../../../org/osgi/framework/wiring/BundleCapability.html#getRevision()"><code>declaring
 revision</code></a> of the capability and the revision must either be the current
 bundle revision or an <a href="../../../../org/osgi/framework/wiring/BundleWiring.html#isInUse()"><code>in use</code></a> bundle
 revision.
 
 <p>
 Each returned capability must match the given requirement. This means
 that the filter in the requirement must match as well as any namespace
 specific directives. For example, the mandatory attributes for the
 osgi.wiring.package namespace.
 
 <p>
 The returned collection has not been filtered to remove capabilities that
 are non-effective, substituted or for which the providing bundle does not
 have permission to provide. No resolve hooks are called to filter
 matching capabilities.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>requirement</code> - The requirement to find matching bundle capabilities.
        Must not be <code>null</code>.</dd>
<dt><span class="strong">Returns:</span></dt><dd>A collection of <a href="../../../../org/osgi/framework/wiring/BundleCapability.html" title="interface in org.osgi.framework.wiring"><code>BundleCapability</code></a> objects that match the
         specified requirement.</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.2</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="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/osgi/framework/wiring/BundleWiring.html" title="interface in org.osgi.framework.wiring"><span class="strong">Prev Class</span></a></li>
<li>Next Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/osgi/framework/wiring/FrameworkWiring.html" target="_top">Frames</a></li>
<li><a href="FrameworkWiring.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>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>