This file is indexed.

/usr/share/doc/libosgi-core-java/api/org/osgi/framework/FrameworkUtil.html is in libosgi-core-java-doc 4.3.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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_23) on Sun Nov 20 13:35:19 UTC 2011 -->
<TITLE>
FrameworkUtil
</TITLE>

<META NAME="date" CONTENT="2011-11-20">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="FrameworkUtil";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../org/osgi/framework/FrameworkListener.html" title="interface in org.osgi.framework"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/osgi/framework/InvalidSyntaxException.html" title="class in org.osgi.framework"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../index.html?org/osgi/framework/FrameworkUtil.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="FrameworkUtil.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.osgi.framework</FONT>
<BR>
Class FrameworkUtil</H2>
<PRE>
java.lang.Object
  <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.osgi.framework.FrameworkUtil</B>
</PRE>
<HR>
<DL>
<DT><PRE>public class <B>FrameworkUtil</B><DT>extends java.lang.Object</DL>
</PRE>

<P>
Framework Utility class.
 
 <p>
 This class contains utility methods which access Framework functions that may
 be useful to bundles.
<P>

<P>
<DL>
<DT><B>Since:</B></DT>
  <DD>1.3</DD>
</DL>
<HR>

<P>

<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../org/osgi/framework/Filter.html" title="interface in org.osgi.framework">Filter</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/osgi/framework/FrameworkUtil.html#createFilter(java.lang.String)">createFilter</A></B>(java.lang.String&nbsp;filter)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a <code>Filter</code> object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../org/osgi/framework/Bundle.html" title="interface in org.osgi.framework">Bundle</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/osgi/framework/FrameworkUtil.html#getBundle(java.lang.Class)">getBundle</A></B>(java.lang.Class&lt;?&gt;&nbsp;classFromBundle)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a <code>Bundle</code> for the specified bundle class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/osgi/framework/FrameworkUtil.html#matchDistinguishedNameChain(java.lang.String, java.util.List)">matchDistinguishedNameChain</A></B>(java.lang.String&nbsp;matchPattern,
                            java.util.List&lt;java.lang.String&gt;&nbsp;dnChain)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Match a Distinguished Name (DN) chain against a pattern.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="createFilter(java.lang.String)"><!-- --></A><H3>
createFilter</H3>
<PRE>
public static <A HREF="../../../org/osgi/framework/Filter.html" title="interface in org.osgi.framework">Filter</A> <B>createFilter</B>(java.lang.String&nbsp;filter)
                           throws <A HREF="../../../org/osgi/framework/InvalidSyntaxException.html" title="class in org.osgi.framework">InvalidSyntaxException</A></PRE>
<DL>
<DD>Creates a <code>Filter</code> object. This <code>Filter</code> object may
 be used to match a <code>ServiceReference</code> object or a
 <code>Dictionary</code> object.
 
 <p>
 If the filter cannot be parsed, an <A HREF="../../../org/osgi/framework/InvalidSyntaxException.html" title="class in org.osgi.framework"><CODE>InvalidSyntaxException</CODE></A> will be
 thrown with a human readable message where the filter became unparsable.
 
 <p>
 This method returns a Filter implementation which may not perform as well
 as the framework implementation-specific Filter implementation returned
 by <A HREF="../../../org/osgi/framework/BundleContext.html#createFilter(java.lang.String)"><CODE>BundleContext.createFilter(String)</CODE></A>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>filter</CODE> - The filter string.
<DT><B>Returns:</B><DD>A <code>Filter</code> object encapsulating the filter string.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../org/osgi/framework/InvalidSyntaxException.html" title="class in org.osgi.framework">InvalidSyntaxException</A></CODE> - If <code>filter</code> contains an invalid
         filter string that cannot be parsed.
<DD><CODE>java.lang.NullPointerException</CODE> - If <code>filter</code> is null.<DT><B>See Also:</B><DD><A HREF="../../../org/osgi/framework/Filter.html" title="interface in org.osgi.framework"><CODE>Filter</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="matchDistinguishedNameChain(java.lang.String, java.util.List)"><!-- --></A><H3>
matchDistinguishedNameChain</H3>
<PRE>
public static boolean <B>matchDistinguishedNameChain</B>(java.lang.String&nbsp;matchPattern,
                                                  java.util.List&lt;java.lang.String&gt;&nbsp;dnChain)</PRE>
<DL>
<DD>Match a Distinguished Name (DN) chain against a pattern. DNs can be
 matched using wildcards. A wildcard ('*' &#92;u002A) replaces all
 possible values. Due to the structure of the DN, the comparison is more
 complicated than string-based wildcard matching.
 <p>
 A wildcard can stand for zero or more DNs in a chain, a number of
 relative distinguished names (RDNs) within a DN, or the value of a single
 RDN. The DNs in the chain and the matching pattern are canonicalized
 before processing. This means, among other things, that spaces must be
 ignored, except in values.
 <p>
 The format of a wildcard match pattern is:
 
 <pre>
 matchPattern   ::= dn-match ( ';' dn-match ) *
 dn-match       ::= ( '*' | rdn-match ) ( ',' rdn-match ) * | '-'
 rdn-match      ::= name '=' value-match
 value-match    ::= '*' | value-star
 value-star     ::= &lt; value, requires escaped '*' and '-' &gt;
 </pre>
 <p>
 The most simple case is a single wildcard; it must match any DN. A
 wildcard can also replace the first list of RDNs of a DN. The first RDNs
 are the least significant. Such lists of matched RDNs can be empty.
 <p>
 For example, a match pattern with a wildcard that matches all DNs that
 end with RDNs of o=ACME and c=US would look like this:
 
 <pre>
 *, o=ACME, c=US
 </pre>
 
 This match pattern would match the following DNs:
 
 <pre>
 cn = Bugs Bunny, o = ACME, c = US
 ou = Carrots, cn=Daffy Duck, o=ACME, c=US
 street = 9C\, Avenue St. Dr??z??ry, o=ACME, c=US
 dc=www, dc=acme, dc=com, o=ACME, c=US
 o=ACME, c=US
 </pre>
 
 The following DNs would not match:
 
 <pre>
 street = 9C\, Avenue St. Dr??z??ry, o=ACME, c=FR
 dc=www, dc=acme, dc=com, c=US
 </pre>
 
 If a wildcard is used for a value of an RDN, the value must be exactly *.
 The wildcard must match any value, and no substring matching must be
 done. For example:
 
 <pre>
 cn=*,o=ACME,c=*
 </pre>
 
 This match pattern with wildcard must match the following DNs:
 
 <pre>
 cn=Bugs Bunny,o=ACME,c=US
 cn = Daffy Duck , o = ACME , c = US
 cn=Road Runner, o=ACME, c=NL
 </pre>
 
 But not:
 
 <pre>
 o=ACME, c=NL
 dc=acme.com, cn=Bugs Bunny, o=ACME, c=US
 </pre>
 
 <p>
 A match pattern may contain a chain of DN match patterns. The
 semicolon(';' &#92;u003B) must be used to separate DN match patterns in a
 chain. Wildcards can also be used to match against a complete DN within a
 chain.
 <p>
 The following example matches a certificate signed by Tweety Inc. in the
 US.
 </p>
 
 <pre>
 * ; ou=S &amp; V, o=Tweety Inc., c=US
 </pre>
 <p>
 The wildcard ('*') matches zero or one DN in the chain, however,
 sometimes it is necessary to match a longer chain. The minus sign ('-'
 &#92;u002D) represents zero or more DNs, whereas the asterisk only
 represents a single DN. For example, to match a DN where the Tweety Inc.
 is in the DN chain, use the following expression:
 </p>
 
 <pre>
 - ; *, o=Tweety Inc., c=US
 </pre>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>matchPattern</CODE> - The pattern against which to match the DN chain.<DD><CODE>dnChain</CODE> - The DN chain to match against the specified pattern. Each
        element of the chain must be of type <code>String</code> and use the
        format defined in <a
        href="http://www.ietf.org/rfc/rfc2253.txt">RFC 2253</a>.
<DT><B>Returns:</B><DD><code>true</code> If the pattern matches the DN chain; otherwise
         <code>false</code> is returned.
<DT><B>Throws:</B>
<DD><CODE>java.lang.IllegalArgumentException</CODE> - If the specified match pattern or DN
         chain is invalid.<DT><B>Since:</B></DT>
  <DD>1.5</DD>
</DL>
</DD>
</DL>
<HR>

<A NAME="getBundle(java.lang.Class)"><!-- --></A><H3>
getBundle</H3>
<PRE>
public static <A HREF="../../../org/osgi/framework/Bundle.html" title="interface in org.osgi.framework">Bundle</A> <B>getBundle</B>(java.lang.Class&lt;?&gt;&nbsp;classFromBundle)</PRE>
<DL>
<DD>Return a <code>Bundle</code> for the specified bundle class. The returned
 <code>Bundle</code> is the bundle associated with the bundle class loader
 which defined the specified class.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>classFromBundle</CODE> - A class defined by a bundle class loader.
<DT><B>Returns:</B><DD>A <code>Bundle</code> for the specified bundle class or
         <code>null</code> if the specified class was not defined by a
         bundle class loader.<DT><B>Since:</B></DT>
  <DD>1.5</DD>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../org/osgi/framework/FrameworkListener.html" title="interface in org.osgi.framework"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/osgi/framework/InvalidSyntaxException.html" title="class in org.osgi.framework"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../index.html?org/osgi/framework/FrameworkUtil.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="FrameworkUtil.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>

</BODY>
</HTML>