<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="http://wiki.apidesign.org/skins/common/feed.css?116"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.apidesign.org/index.php?action=history&amp;feed=atom&amp;title=NetbinoxHook</id>
		<title>NetbinoxHook - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.apidesign.org/index.php?action=history&amp;feed=atom&amp;title=NetbinoxHook"/>
		<link rel="alternate" type="text/html" href="http://wiki.apidesign.org/index.php?title=NetbinoxHook&amp;action=history"/>
		<updated>2026-05-18T03:11:39Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.12.0rc1</generator>

	<entry>
		<id>http://wiki.apidesign.org/index.php?title=NetbinoxHook&amp;diff=4475&amp;oldid=prev</id>
		<title>JaroslavTulach at 15:44, 29 January 2011</title>
		<link rel="alternate" type="text/html" href="http://wiki.apidesign.org/index.php?title=NetbinoxHook&amp;diff=4475&amp;oldid=prev"/>
				<updated>2011-01-29T15:44:33Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 15:44, 29 January 2011&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 9:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 9:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;This means that anyone can create a [[NetBeans]] module, add dependency on ''org.apidesign.netbinox'' version at least 1.16.7 and implement [[Equinox]]'s own ''HookConfigurator''. The configurator's '''addHooks''' method can then register what ever additional [[NetbinoxHook|hooks]] one needs. Obviously the additional [[NetbinoxHook|hooks]] need to be packaged as [[NetBeans]] module and not [[OSGi]] bundle, as they &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;need &lt;/del&gt;to be available sooner &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;before &lt;/del&gt;the [[Equinox]] framework starts (another [[BootstrappingEquinox|boostrapping]] problem).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;This means that anyone can create a [[NetBeans]] module, add dependency on ''org.apidesign.netbinox'' version at least 1.16.7 and implement [[Equinox]]'s own ''HookConfigurator''. &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;@ServiceRegistration(service=HookConfigurator.class)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;public final class MyHooks implements HookConfigurator {&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;  public void addHooks(HookRegistry hr) {&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;    // register the additional hooks&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;  }&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/source&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The configurator's '''addHooks''' method can then register what ever additional [[NetbinoxHook|hooks]] one needs. Obviously the additional [[NetbinoxHook|hooks]] need to be packaged as [[NetBeans]] module and not [[OSGi]] bundle, as they &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;have &lt;/ins&gt;to be available sooner &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;than &lt;/ins&gt;the [[Equinox]] framework starts (another [[BootstrappingEquinox|boostrapping]] problem)&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;. However except of this small limitation the [[Lookup]] based registration seems to be quite easy and compatible enough with the original [[Equinox]] approach&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;comments/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;comments/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>JaroslavTulach</name></author>	</entry>

	<entry>
		<id>http://wiki.apidesign.org/index.php?title=NetbinoxHook&amp;diff=4474&amp;oldid=prev</id>
		<title>JaroslavTulach at 15:41, 29 January 2011</title>
		<link rel="alternate" type="text/html" href="http://wiki.apidesign.org/index.php?title=NetbinoxHook&amp;diff=4474&amp;oldid=prev"/>
				<updated>2011-01-29T15:41:50Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 15:41, 29 January 2011&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 9:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 9:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;This means that anyone can create a [[NetBeans]] module, add dependency on ''org.apidesign.netbinox'' version at least 1.16.7 and implement [[Equinox]]'s own ''HookConfigurator''. The configurator's '''addHooks''' method can then register what ever additional [[NetbinoxHook|hooks]] one needs.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;This means that anyone can create a [[NetBeans]] module, add dependency on ''org.apidesign.netbinox'' version at least 1.16.7 and implement [[Equinox]]'s own ''HookConfigurator''. The configurator's '''addHooks''' method can then register what ever additional [[NetbinoxHook|hooks]] one needs. &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Obviously the additional [[NetbinoxHook|hooks]] need to be packaged as [[NetBeans]] module and not [[OSGi]] bundle, as they need to be available sooner before the [[Equinox]] framework starts (another [[BootstrappingEquinox|boostrapping]] problem).&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;comments/&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>JaroslavTulach</name></author>	</entry>

	<entry>
		<id>http://wiki.apidesign.org/index.php?title=NetbinoxHook&amp;diff=4471&amp;oldid=prev</id>
		<title>JaroslavTulach at 15:37, 29 January 2011</title>
		<link rel="alternate" type="text/html" href="http://wiki.apidesign.org/index.php?title=NetbinoxHook&amp;diff=4471&amp;oldid=prev"/>
				<updated>2011-01-29T15:37:17Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 15:37, 29 January 2011&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Netbinox]] is fully compatible [[OSGi]] container built around [[Equinox]]. It's goal is to be fully compatible for complient [[OSGi]] bundles. However [[Equinox]] offers more than just [[OSGi]] [[API]]s. It offers various extension [[NetbinoxHook|hooks]]. Version 1.16.7 of [[Netbinox]] exposes these hooks too, however as there are certain problems [[&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;BootstrapingEquinox&lt;/del&gt;]], it exposes them in slightly different way.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Netbinox]] is fully compatible [[OSGi]] container built around [[Equinox]]. It's goal is to be fully compatible for complient [[OSGi]] bundles. However [[Equinox]] offers more than just [[OSGi]] [[API]]s. It offers various extension [[NetbinoxHook|hooks]]. Version 1.16.7 of [[Netbinox]] exposes these hooks too, however as there are certain problems [[&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;BootstrappingEquinox&lt;/ins&gt;]], it exposes them in slightly different way.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;First of all the [[Netbinox]] itself needs to register few hooks to achieve the improvements to the [[NetbinoxPerformance]]. Those include class loading hook, bundle file factory hook, framework log and adaptor hook. However since version 1.16.7 the [[Netbinox]] also queries for additional hook configurators using [[ServiceLoader]] [[injection]] style:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;First of all the [[Netbinox]] itself needs to register few hooks to achieve the improvements to the [[NetbinoxPerformance]]. Those include class loading hook, bundle file factory hook, framework log and adaptor hook. However since version 1.16.7 the [[Netbinox]] also queries for additional hook configurators using [[ServiceLoader]] [[injection]] style:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 9:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 9:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;This means that anyone can create a [[NetBeans]] module, add dependency on ''org.apidesign.netbinox'' version at least 1.16.7 and implement [[Equinox]]'s own ''HookConfigurator''. The configurator's '''addHooks''' method can then register what ever additional [[&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;NetbinxoHook&lt;/del&gt;|hooks]] one needs.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;This means that anyone can create a [[NetBeans]] module, add dependency on ''org.apidesign.netbinox'' version at least 1.16.7 and implement [[Equinox]]'s own ''HookConfigurator''. The configurator's '''addHooks''' method can then register what ever additional [[&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;NetbinoxHook&lt;/ins&gt;|hooks]] one needs.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>JaroslavTulach</name></author>	</entry>

	<entry>
		<id>http://wiki.apidesign.org/index.php?title=NetbinoxHook&amp;diff=4470&amp;oldid=prev</id>
		<title>JaroslavTulach: New page: Netbinox is fully compatible OSGi container built around Equinox. It's goal is to be fully compatible for complient OSGi bundles. However Equinox offers more than just ...</title>
		<link rel="alternate" type="text/html" href="http://wiki.apidesign.org/index.php?title=NetbinoxHook&amp;diff=4470&amp;oldid=prev"/>
				<updated>2011-01-29T15:36:48Z</updated>
		
		<summary type="html">&lt;p&gt;New page: &lt;a href=&quot;/wiki/Netbinox&quot; title=&quot;Netbinox&quot;&gt;Netbinox&lt;/a&gt; is fully compatible &lt;a href=&quot;/wiki/OSGi&quot; title=&quot;OSGi&quot;&gt;OSGi&lt;/a&gt; container built around &lt;a href=&quot;/wiki/Equinox&quot; title=&quot;Equinox&quot;&gt;Equinox&lt;/a&gt;. It's goal is to be fully compatible for complient &lt;a href=&quot;/wiki/OSGi&quot; title=&quot;OSGi&quot;&gt;OSGi&lt;/a&gt; bundles. However &lt;a href=&quot;/wiki/Equinox&quot; title=&quot;Equinox&quot;&gt;Equinox&lt;/a&gt; offers more than just ...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Netbinox]] is fully compatible [[OSGi]] container built around [[Equinox]]. It's goal is to be fully compatible for complient [[OSGi]] bundles. However [[Equinox]] offers more than just [[OSGi]] [[API]]s. It offers various extension [[NetbinoxHook|hooks]]. Version 1.16.7 of [[Netbinox]] exposes these hooks too, however as there are certain problems [[BootstrapingEquinox]], it exposes them in slightly different way.&lt;br /&gt;
&lt;br /&gt;
First of all the [[Netbinox]] itself needs to register few hooks to achieve the improvements to the [[NetbinoxPerformance]]. Those include class loading hook, bundle file factory hook, framework log and adaptor hook. However since version 1.16.7 the [[Netbinox]] also queries for additional hook configurators using [[ServiceLoader]] [[injection]] style:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
for (HookConfigurator hc : Lookup.getDefault().lookupAll(HookConfigurator.class)) {&lt;br /&gt;
  hc.addHooks(hr);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that anyone can create a [[NetBeans]] module, add dependency on ''org.apidesign.netbinox'' version at least 1.16.7 and implement [[Equinox]]'s own ''HookConfigurator''. The configurator's '''addHooks''' method can then register what ever additional [[NetbinxoHook|hooks]] one needs.&lt;/div&gt;</summary>
		<author><name>JaroslavTulach</name></author>	</entry>

	</feed>