This file is indexed.

/usr/share/doc/libosgi-core-java/api/org/osgi/framework/hooks/resolver/ResolverHookFactory.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
<!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:17 UTC 2011 -->
<TITLE>
ResolverHookFactory
</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="ResolverHookFactory";
    }
}
</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/hooks/resolver/ResolverHook.html" title="interface in org.osgi.framework.hooks.resolver"><B>PREV CLASS</B></A>&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?org/osgi/framework/hooks/resolver/ResolverHookFactory.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="ResolverHookFactory.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.hooks.resolver</FONT>
<BR>
Interface ResolverHookFactory</H2>
<HR>
<DL>
<DT><PRE>public interface <B>ResolverHookFactory</B></DL>
</PRE>

<P>
OSGi Framework Resolver Hook Factory Service.
 
 <p>
 Bundles registering this service will be called by the framework during 
 a bundle resolver process to obtain a <A HREF="../../../../../org/osgi/framework/hooks/resolver/ResolverHook.html" title="interface in org.osgi.framework.hooks.resolver"><CODE>resolver hook</CODE></A>
 instance which will be used for the duration of a resolve process.
<P>

<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../org/osgi/framework/hooks/resolver/ResolverHook.html" title="interface in org.osgi.framework.hooks.resolver"><CODE>ResolverHook</CODE></A></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>&nbsp;<A HREF="../../../../../org/osgi/framework/hooks/resolver/ResolverHook.html" title="interface in org.osgi.framework.hooks.resolver">ResolverHook</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/osgi/framework/hooks/resolver/ResolverHookFactory.html#begin(java.util.Collection)">begin</A></B>(java.util.Collection&lt;<A HREF="../../../../../org/osgi/framework/wiring/BundleRevision.html" title="interface in org.osgi.framework.wiring">BundleRevision</A>&gt;&nbsp;triggers)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is called by the framework each time a resolve process begins
 to obtain a <A HREF="../../../../../org/osgi/framework/hooks/resolver/ResolverHook.html" title="interface in org.osgi.framework.hooks.resolver"><CODE>resolver hook</CODE></A> instance.</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="begin(java.util.Collection)"><!-- --></A><H3>
begin</H3>
<PRE>
<A HREF="../../../../../org/osgi/framework/hooks/resolver/ResolverHook.html" title="interface in org.osgi.framework.hooks.resolver">ResolverHook</A> <B>begin</B>(java.util.Collection&lt;<A HREF="../../../../../org/osgi/framework/wiring/BundleRevision.html" title="interface in org.osgi.framework.wiring">BundleRevision</A>&gt;&nbsp;triggers)</PRE>
<DL>
<DD>This method is called by the framework each time a resolve process begins
 to obtain a <A HREF="../../../../../org/osgi/framework/hooks/resolver/ResolverHook.html" title="interface in org.osgi.framework.hooks.resolver"><CODE>resolver hook</CODE></A> instance.  This resolver hook 
 instance will be used for the duration of the resolve process.  At the end of 
 the resolve process the method <A HREF="../../../../../org/osgi/framework/hooks/resolver/ResolverHook.html#end()"><CODE>ResolverHook.end()</CODE></A> must be called by 
 the framework and the framework must not hold any references of the resolver 
 hook instance.
 <p>
 The triggers represent the collection of bundles which triggered
 the resolve process.  This collection may be empty if the triggers
 cannot be determined by the framework.  In most cases the triggers 
 can easily be determined.  Calling certain methods on 
 <A HREF="../../../../../org/osgi/framework/Bundle.html" title="interface in org.osgi.framework"><CODE>bundle</CODE></A> when a bundle is in the <A HREF="../../../../../org/osgi/framework/Bundle.html#INSTALLED"><CODE>INSTALLED</CODE></A> 
 state will cause the framework to begin a resolve process in order to resolve the 
 bundle.  The following methods will start a resolve process in this case:
 <ul>
   <li><A HREF="../../../../../org/osgi/framework/Bundle.html#start()"><CODE>start</CODE></A></li>
   <li><A HREF="../../../../../org/osgi/framework/Bundle.html#loadClass(java.lang.String)"><CODE>loadClass</CODE></A></li>
   <li><A HREF="../../../../../org/osgi/framework/Bundle.html#findEntries(java.lang.String, java.lang.String, boolean)"><CODE>findEntries</CODE></A></li>
   <li><A HREF="../../../../../org/osgi/framework/Bundle.html#getResource(java.lang.String)"><CODE>getResource</CODE></A></li>
   <li><A HREF="../../../../../org/osgi/framework/Bundle.html#getResources(java.lang.String)"><CODE>getResources</CODE></A></li>
 </ul> 
 In such cases the collection will contain the single bundle which the
 framework is trying to resolve.  Other cases will cause multiple bundles to be
 included in the trigger bundles collection.  When <A HREF="../../../../../org/osgi/framework/wiring/FrameworkWiring.html#resolveBundles(java.util.Collection)"><CODE>resolveBundles</CODE></A> is called the collection of triggers must include all the current bundle 
 revisions for bundles passed to resolveBundles which are in the <A HREF="../../../../../org/osgi/framework/Bundle.html#INSTALLED"><CODE>INSTALLED</CODE></A>
 state.
 <p>
 When <A HREF="../../../../../org/osgi/framework/wiring/FrameworkWiring.html#refreshBundles(java.util.Collection, org.osgi.framework.FrameworkListener...)"><CODE>FrameworkWiring.refreshBundles(Collection, org.osgi.framework.FrameworkListener...)</CODE></A>
 is called the collection of triggers is determined with the following steps:
 <ul>
   <li>If the collection of bundles passed is null then <A HREF="../../../../../org/osgi/framework/wiring/FrameworkWiring.html#getRemovalPendingBundles()"><CODE>FrameworkWiring.getRemovalPendingBundles()</CODE></A>
   is called to get the initial collection of bundles.</li>
   <li>The equivalent of calling <A HREF="../../../../../org/osgi/framework/wiring/FrameworkWiring.html#getDependencyClosure(java.util.Collection)"><CODE>FrameworkWiring.getDependencyClosure(Collection)</CODE></A> is called with
   the initial collection of bundles to get the dependency closure collection of the bundles being refreshed.</li>
   <li>Remove any non-active bundles from the dependency closure collection.</li>
   <li>For each bundle remaining in the dependency closure collection get the current bundle revision
   and add it to the collection of triggers.</li> 
 </ul>
 <p>
 As described above, a resolve process is typically initiated as a result of calling API that causes the 
 framework to attempt to resolve one or more bundles.  
 The framework is free to start a resolve process at any time for reasons other than calls to framework API.
 For example, a resolve process may be used by the framework for diagnostic purposes and result in no
 bundles actually becoming resolved at the end of the process.
 Resolver hook implementations must be prepared for resolve processes that are initiated for other reasons
 besides calls to framework API.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>triggers</CODE> - an unmodifiable collection of bundles which triggered the resolve process.
 This collection may be empty if the collection of trigger bundles cannot be
 determined.
<DT><B>Returns:</B><DD>a resolver hook instance to be used for the duration of the resolve process.
 A <code>null</code> value may be returned which indicates this resolver hook factory abstains from
 the resolve process.</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/hooks/resolver/ResolverHook.html" title="interface in org.osgi.framework.hooks.resolver"><B>PREV CLASS</B></A>&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?org/osgi/framework/hooks/resolver/ResolverHookFactory.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="ResolverHookFactory.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>