diff --git a/ipojo/annotations/doc/how-to-use-ipojo-annotations.html b/ipojo/annotations/doc/how-to-use-ipojo-annotations.html
index 1fc5589..cb9e468 100644
--- a/ipojo/annotations/doc/how-to-use-ipojo-annotations.html
+++ b/ipojo/annotations/doc/how-to-use-ipojo-annotations.html
@@ -1,365 +1,450 @@
-
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<HTML>
+<html><head>
+
+
   
-<!-- Mirrored Site: felix.apache.org. File: /site/how-to-use-ipojo-annotations.html. Date: Mon, 13 Oct 2008 06:52:42 GMT -->
-<HEAD>
-    <TITLE>Apache Felix - How to use iPOJO Annotations</TITLE>
-    <LINK rel="stylesheet" href="media.data/site.css" type="text/css" media="all">
-    <META http-equiv="Content-Type" content="text/html;charset=UTF-8">
-  </HEAD>
-  <BODY>
-    <DIV class="title"><DIV class="logo"><A href="index.html"><IMG border="0" alt="Apache Felix" src="media.data/logo.png"></A></DIV><DIV class="header"><A href="http://www.apache.org/"><IMG border="0" alt="Apache" src="media.data/apache.png"></A></DIV></DIV>
-    <DIV class="menu">
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <UL>
-	<LI><A href="news.html" title="news">news</A></LI>
-	<LI><A href="license.html" title="license">license</A></LI>
-	<LI><SPAN class="nobr"><A href="downloads.html" title="Visit page outside Confluence" rel="nofollow">downloads<SUP><IMG class="rendericon" src="../../cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI>
-	<LI><A href="documentation.html" title="documentation">documentation</A></LI>
-	<LI><A href="mailinglists.html" title="mailinglists">mailing lists</A></LI>
-	<LI><A href="contributing.html" title="Contributing">contributing</A></LI>
-	<LI><SPAN class="nobr"><A href="http://www.apache.org/" title="Visit page outside Confluence" rel="nofollow">asf<SUP><IMG class="rendericon" src="../../cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI>
-	<LI><SPAN class="nobr"><A href="http://www.apache.org/foundation/sponsorship.html" title="Visit page outside Confluence" rel="nofollow">sponsorship<SUP><IMG class="rendericon" src="../../cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI>
-	<LI><SPAN class="nobr"><A href="http://www.apache.org/foundation/thanks.html" title="Visit page outside Confluence" rel="nofollow">sponsors<SUP><IMG class="rendericon" src="../../cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN>
+    <title>Apache Felix - How to use iPOJO Annotations</title>
+    <link rel="stylesheet" href="how-to-use-ipojo-annotations_files/site.css" type="text/css" media="all">
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+  </head><body>
+    <div class="title"><div class="logo"><a href="http://felix.apache.org/site/index.html"><img alt="Apache Felix" src="how-to-use-ipojo-annotations_files/logo.png" border="0"></a></div><div class="header"><a href="http://www.apache.org/"><img alt="Apache" src="how-to-use-ipojo-annotations_files/apache.png" border="0"></a></div></div>
+    <div class="menu">
+<ul>
+	<li><a href="http://felix.apache.org/site/news.html" title="news">news</a></li>
+	<li><a href="http://felix.apache.org/site/license.html" title="license">license</a></li>
+	<li><span class="nobr"><a href="http://felix.apache.org/site/downloads.cgi" title="Visit page outside Confluence" rel="nofollow">downloads<sup><img class="rendericon" src="how-to-use-ipojo-annotations_files/linkext7.gif" alt="" align="absmiddle" border="0" width="7" height="7"></sup></a></span></li>
+	<li><a href="http://felix.apache.org/site/documentation.html" title="documentation">documentation</a></li>
+	<li><a href="http://felix.apache.org/site/mailinglists.html" title="mailinglists">mailing lists</a></li>
+	<li><a href="http://felix.apache.org/site/contributing.html" title="Contributing">contributing</a></li>
+	<li><span class="nobr"><a href="http://www.apache.org/" title="Visit page outside Confluence" rel="nofollow">asf<sup><img class="rendericon" src="how-to-use-ipojo-annotations_files/linkext7.gif" alt="" align="absmiddle" border="0" width="7" height="7"></sup></a></span></li>
+	<li><span class="nobr"><a href="http://www.apache.org/foundation/sponsorship.html" title="Visit page outside Confluence" rel="nofollow">sponsorship<sup><img class="rendericon" src="how-to-use-ipojo-annotations_files/linkext7.gif" alt="" align="absmiddle" border="0" width="7" height="7"></sup></a></span></li>
+	<li><span class="nobr"><a href="http://www.apache.org/foundation/thanks.html" title="Visit page outside Confluence" rel="nofollow">sponsors<sup><img class="rendericon" src="how-to-use-ipojo-annotations_files/linkext7.gif" alt="" align="absmiddle" border="0" width="7" height="7"></sup></a></span>
 <!-- ApacheCon Ad -->
-<IFRAME src="http://www.apache.org/ads/button.html" style="border-width:0; float: left" frameborder="0" scrolling="no" width="135" height="135"></IFRAME>
-<P style="height: 100px">
-<!-- ApacheCon Ad --></LI>
-</UL>
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                </DIV>
-    <DIV class="main">
-<TABLE class="sectionMacro" border="0" cellpadding="5" cellspacing="0" width="100%"><TBODY><TR>
-<TD class="confluenceTd" valign="top" width="80%">
-<P>iPOJO defines several annotations to help developer to define their components. This page presents an example of iPOJO annotation and describes provided annotations.</P>
+<iframe src="how-to-use-ipojo-annotations_files/button.html" style="border-width: 0pt; float: left;" scrolling="no" width="135" frameborder="0" height="135"></iframe>
+<p style="height: 100px;">
+<!-- ApacheCon Ad -->
+</p></li></ul> </div>
+    <div class="main">
+<table class="sectionMacro" border="0" cellpadding="5" cellspacing="0" width="100%"><tbody><tr>
+<td class="confluenceTd" valign="top" width="80%">
+<p>iPOJO defines several annotations to help developer to define their
+components. This page presents an example of iPOJO annotation and
+describes provided annotations.</p>
 
-<H1><A name="HowtouseiPOJOAnnotations-GettingiPOJOAnnotations%3A"></A>Getting iPOJO Annotations:</H1>
+<h1><a name="HowtouseiPOJOAnnotations-GettingiPOJOAnnotations:"></a>Getting iPOJO Annotations:</h1>
 
-<P>iPOJO Annotations are defines inside the org.apache.felix.ipojo.annotations project. You can download the Jar file of this project from the <A href="download.html" title="Download">download</A> page. Sources are available on the <SPAN class="nobr"><A href="sourcecode.html" title="Visit page outside Confluence" rel="nofollow">Felix trunk<SUP><IMG class="rendericon" src="../../cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN>.<BR>
-Once added to your class path / build path / dependencies, you can use the annotations as normal annotations. These annotations are automatically processed by the iPOJO manipulator.</P>
+<p>iPOJO Annotations are defines inside the
+org.apache.felix.ipojo.annotations project. You can download the Jar
+file of this project from the <a href="http://felix.apache.org/site/download.html" title="Download">download</a> page. Sources are available on the <span class="nobr"><a href="http://felix.apache.org/site/sourcecode.html" title="Visit page outside Confluence" rel="nofollow">Felix trunk<sup><img class="rendericon" src="how-to-use-ipojo-annotations_files/linkext7.gif" alt="" align="absmiddle" border="0" width="7" height="7"></sup></a></span>.<br>
+Once added to your class path / build path / dependencies, you can use
+the annotations as normal annotations. These annotations are
+automatically processed by the iPOJO manipulator.</p>
 
-<H2><A name="HowtouseiPOJOAnnotations-InEclipse%3A"></A>In Eclipse:</H2>
+<h2><a name="HowtouseiPOJOAnnotations-InEclipse:"></a>In Eclipse:</h2>
 
-<P>Add the org.apache.felix.ipojo.annotations jar file in your build path. Do not forget to use a Java compiler accepting annotations (1.5 or higher).</P>
+<p>Add the org.apache.felix.ipojo.annotations jar file in your build
+path. Do not forget to use a Java compiler accepting annotations (1.5
+or higher).</p>
 
-<H2><A name="HowtouseiPOJOAnnotations-InMaven%3A"></A>In Maven:</H2>
+<h2><a name="HowtouseiPOJOAnnotations-InMaven:"></a>In Maven:</h2>
 
-<P>Add the following dependency:</P>
-<DIV class="code"><DIV class="codeContent">
-<PRE class="code-xml"><SPAN class="code-tag">&lt;dependency&gt;</SPAN>
-      <SPAN class="code-tag">&lt;groupId&gt;</SPAN>org.apache.felix<SPAN class="code-tag">&lt;/groupId&gt;</SPAN>
-      <SPAN class="code-tag">&lt;artifactId&gt;</SPAN>org.apache.felix.ipojo.annotations<SPAN class="code-tag">&lt;/artifactId&gt;</SPAN>
-      <SPAN class="code-tag">&lt;version&gt;</SPAN>0.8.0<SPAN class="code-tag">&lt;/version&gt;</SPAN>
-<SPAN class="code-tag">&lt;/dependency&gt;</SPAN></PRE>
-</DIV></DIV>
-<P>Moreover, you need to set that the source code and the target code are Java 1.5 code. To achieve this, just add the following plugin in your plugins section:</P>
-<DIV class="code"><DIV class="codeContent">
-<PRE class="code-xml"><SPAN class="code-tag">&lt;plugin&gt;</SPAN>
-        <SPAN class="code-tag">&lt;groupId&gt;</SPAN>org.apache.maven.plugins<SPAN class="code-tag">&lt;/groupId&gt;</SPAN>
-	<SPAN class="code-tag">&lt;artifactId&gt;</SPAN>maven-compiler-plugin<SPAN class="code-tag">&lt;/artifactId&gt;</SPAN>
-	<SPAN class="code-tag">&lt;configuration&gt;</SPAN>
-	  <SPAN class="code-tag">&lt;source&gt;</SPAN>1.5<SPAN class="code-tag">&lt;/source&gt;</SPAN>
-	  <SPAN class="code-tag">&lt;target&gt;</SPAN>1.5<SPAN class="code-tag">&lt;/target&gt;</SPAN>
-	<SPAN class="code-tag">&lt;/configuration&gt;</SPAN>
-<SPAN class="code-tag">&lt;/plugin&gt;</SPAN></PRE>
-</DIV></DIV>
+<p>Add the following dependency:</p>
+<div class="code"><div class="codeContent">
+<pre class="code-xml"><span class="code-tag">&lt;dependency&gt;</span>
+      <span class="code-tag">&lt;groupId&gt;</span>org.apache.felix<span class="code-tag">&lt;/groupId&gt;</span>
+      <span class="code-tag">&lt;artifactId&gt;</span>org.apache.felix.ipojo.annotations<span class="code-tag">&lt;/artifactId&gt;</span>
+      <span class="code-tag">&lt;version&gt;</span>1.0.0<span class="code-tag">&lt;/version&gt;</span>
+<span class="code-tag">&lt;/dependency&gt;</span></pre>
+</div></div>
+<p>Moreover, you need to set that the source code and the target code
+are Java 1.5 code. To achieve this, just add the following plugin in
+your plugins section:</p>
+<div class="code"><div class="codeContent">
+<pre class="code-xml"><span class="code-tag">&lt;plugin&gt;</span>
+        <span class="code-tag">&lt;groupId&gt;</span>org.apache.maven.plugins<span class="code-tag">&lt;/groupId&gt;</span>
+	<span class="code-tag">&lt;artifactId&gt;</span>maven-compiler-plugin<span class="code-tag">&lt;/artifactId&gt;</span>
+	<span class="code-tag">&lt;configuration&gt;</span>
+	  <span class="code-tag">&lt;source&gt;</span>1.5<span class="code-tag">&lt;/source&gt;</span>
+	  <span class="code-tag">&lt;target&gt;</span>1.5<span class="code-tag">&lt;/target&gt;</span>
+	<span class="code-tag">&lt;/configuration&gt;</span>
+<span class="code-tag">&lt;/plugin&gt;</span></pre>
+</div></div>
 
-<H2><A name="HowtouseiPOJOAnnotations-InAnt%3A"></A>In Ant :</H2>
+<h2><a name="HowtouseiPOJOAnnotations-InAnt:"></a>In Ant :</h2>
 
-<P>Just add the org.apache.felix.ipojo.annotations jar file  in your class path.</P>
+<p>Just add the org.apache.felix.ipojo.annotations jar file  in your class path.</p>
 
-<H1><A name="HowtouseiPOJOAnnotations-Anexampleofusage%3A"></A>An example of usage:</H1>
+<h1><a name="HowtouseiPOJOAnnotations-Anexampleofusage:"></a>An example of usage:</h1>
 
-<P>To illustrate annotations usage, let taking the tutorial example. In this tutorial, there are two components:</P>
-<UL>
-	<LI>The first one provides the hello service</LI>
-	<LI>The second one uses the provided hello service<BR>
-You can download the <SPAN class="nobr"><A href="how-to-use-ipojo-annotations.data/hello.impl.annotated-0.0.1-src.zip" title="hello.impl.annotated-0.0.1-src.zip attached to How to use iPOJO Annotations">provider<SUP><IMG class="rendericon" src="../../cwiki.apache.org/confluence/images/icons/link_attachment_7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN> project and the <SPAN class="nobr"><A href="how-to-use-ipojo-annotations.data/hello.client.annotation-0.0.1-src.zip" title="hello.client.annotation-0.0.1-src.zip attached to How to use iPOJO Annotations">consumer<SUP><IMG class="rendericon" src="../../cwiki.apache.org/confluence/images/icons/link_attachment_7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN> project.</LI>
-</UL>
+<p>To illustrate annotations usage, let taking the tutorial example. In this tutorial, there are two components:</p>
+<ul>
+	<li>The first one provides the hello service</li>
+	<li>The second one uses the provided hello service<br>
+You can download the archive containing the examples and a preconfigured version of Felix <span class="nobr"><a href="http://people.apache.org/%7Eclement/ipojo/tutorials/annotations/annotation-tutorial.zip" title="Visit page outside Confluence" rel="nofollow">here<sup><img class="rendericon" src="how-to-use-ipojo-annotations_files/linkext7.gif" alt="" align="absmiddle" border="0" width="7" height="7"></sup></a></span>.</li>
+</ul>
 
 
-<H2><A name="HowtouseiPOJOAnnotations-HelloServiceProvider"></A>Hello Service Provider</H2>
+<h2><a name="HowtouseiPOJOAnnotations-HelloServiceProvider"></a>Hello Service Provider</h2>
 
-<P>The provider uses two annotations. The &quot;component&quot; annotation is mandatory and defines that the class defines a component type. Then the &quot;provides&quot; annotation just declare that the defined component type provides a service.</P>
-<DIV class="code"><DIV class="codeContent">
-<PRE class="code-java"><SPAN class="code-keyword">package</SPAN> ipojo.example.hello.impl;
+<p>The provider uses two annotations. The "component" annotation is
+mandatory and defines that the class defines a component type. Then the
+"provides" annotation just declare that the defined component type
+provides a service.</p>
+<div class="code"><div class="codeContent">
+<pre class="code-java"><span class="code-keyword">package</span> ipojo.example.hello.impl;
 
-<SPAN class="code-keyword">import</SPAN> ipojo.example.hello.Hello;
+<span class="code-keyword">import</span> ipojo.example.hello.Hello;
 
-<SPAN class="code-keyword">import</SPAN> org.apache.felix.ipojo.annotations.Component;
-<SPAN class="code-keyword">import</SPAN> org.apache.felix.ipojo.annotations.Provides;
+<span class="code-keyword">import</span> org.apache.felix.ipojo.annotations.Component;
+<span class="code-keyword">import</span> org.apache.felix.ipojo.annotations.Provides;
 
 /**
   * Component implementing the Hello service.
  **/
 @Component
 @Provides
-<SPAN class="code-keyword">public</SPAN> class HelloImpl <SPAN class="code-keyword">implements</SPAN> Hello {
-    <SPAN class="code-keyword">public</SPAN> <SPAN class="code-object">String</SPAN> sayHello(<SPAN class="code-object">String</SPAN> name) { 
-     <SPAN class="code-keyword">return</SPAN> <SPAN class="code-quote">&quot;hello &quot;</SPAN> + name; 
+<span class="code-keyword">public</span> class HelloImpl <span class="code-keyword">implements</span> Hello {
+    <span class="code-keyword">public</span> <span class="code-object">String</span> sayHello(<span class="code-object">String</span> name) { 
+     <span class="code-keyword">return</span> <span class="code-quote">"hello "</span> + name; 
     }
-}</PRE>
-</DIV></DIV>
+}</pre>
+</div></div>
 
-<H2><A name="HowtouseiPOJOAnnotations-HelloServiceConsumer"></A>Hello Service Consumer</H2>
+<h2><a name="HowtouseiPOJOAnnotations-HelloServiceConsumer"></a>Hello Service Consumer</h2>
 
-<P>The Hello Service Consumer use more annotations. First it used the component annotation. To defines its &quot;immediate&quot; behavior, it add the 'immediate' attribute.<BR>
-Then, it uses the requires annotation to define a service dependency. Finally, it uses the validate and invalidate annotations to define lifecycle callbacks.</P>
-<DIV class="code"><DIV class="codeContent">
-<PRE class="code-java"><SPAN class="code-keyword">package</SPAN> ipojo.example.hello.client;
+<p>The Hello Service Consumer use more annotations. First it used the
+component annotation. To defines its "immediate" behavior, it add the
+'immediate' attribute.<br>
+Then, it uses the requires annotation to define a service dependency.
+Finally, it uses the validate and invalidate annotations to define
+lifecycle callbacks.</p>
+<div class="code"><div class="codeContent">
+<pre class="code-java"><span class="code-keyword">package</span> ipojo.example.hello.client;
 
-<SPAN class="code-keyword">import</SPAN> org.apache.felix.ipojo.annotations.Component;
-<SPAN class="code-keyword">import</SPAN> org.apache.felix.ipojo.annotations.Invalidate;
-<SPAN class="code-keyword">import</SPAN> org.apache.felix.ipojo.annotations.Requires;
-<SPAN class="code-keyword">import</SPAN> org.apache.felix.ipojo.annotations.Validate;
+<span class="code-keyword">import</span> org.apache.felix.ipojo.annotations.Component;
+<span class="code-keyword">import</span> org.apache.felix.ipojo.annotations.Invalidate;
+<span class="code-keyword">import</span> org.apache.felix.ipojo.annotations.Requires;
+<span class="code-keyword">import</span> org.apache.felix.ipojo.annotations.Validate;
 
-<SPAN class="code-keyword">import</SPAN> ipojo.example.hello.Hello;
+<span class="code-keyword">import</span> ipojo.example.hello.Hello;
 
-@Component(name=<SPAN class="code-quote">&quot;AnnotedHelloClient&quot;</SPAN>, immediate=<SPAN class="code-keyword">true</SPAN>)
-<SPAN class="code-keyword">public</SPAN> class HelloClient <SPAN class="code-keyword">implements</SPAN> <SPAN class="code-object">Runnable</SPAN> {
+@Component(name=<span class="code-quote">"AnnotedHelloClient"</span>, immediate=<span class="code-keyword">true</span>)
+<span class="code-keyword">public</span> class HelloClient <span class="code-keyword">implements</span> <span class="code-object">Runnable</span> {
 
 @Requires
-<SPAN class="code-keyword">private</SPAN> Hello[] m_hello; <SPAN class="code-comment">// Service Dependency
-</SPAN>
-<SPAN class="code-keyword">private</SPAN> <SPAN class="code-keyword">final</SPAN> <SPAN class="code-keyword">static</SPAN> <SPAN class="code-object">int</SPAN> DELAY=10000;
-<SPAN class="code-keyword">private</SPAN> <SPAN class="code-object">boolean</SPAN> end;
+<span class="code-keyword">private</span> Hello[] m_hello; <span class="code-comment">// Service Dependency
+</span>
+<span class="code-keyword">private</span> <span class="code-keyword">final</span> <span class="code-keyword">static</span> <span class="code-object">int</span> DELAY=10000;
+<span class="code-keyword">private</span> <span class="code-object">boolean</span> end;
 
- <SPAN class="code-keyword">public</SPAN> void run() {
-    <SPAN class="code-keyword">while</SPAN> (!end) {
-               <SPAN class="code-keyword">try</SPAN> {
+ <span class="code-keyword">public</span> void run() {
+    <span class="code-keyword">while</span> (!end) {
+               <span class="code-keyword">try</span> {
 		invoke();
-                <SPAN class="code-object">Thread</SPAN>.sleep(DELAY);
-              } <SPAN class="code-keyword">catch</SPAN> (InterruptedException ie) { }
+                <span class="code-object">Thread</span>.sleep(DELAY);
+              } <span class="code-keyword">catch</span> (InterruptedException ie) { }
               /* will recheck end */
      }
 }
 
-<SPAN class="code-keyword">public</SPAN> void invoke() {
-	<SPAN class="code-keyword">for</SPAN> (<SPAN class="code-object">int</SPAN> i = 0; i &lt; m_hello.length; i++) { 
-          <SPAN class="code-object">System</SPAN>.out.println(m_hello[i].
-             sayHello(<SPAN class="code-quote">&quot;Clement&quot;</SPAN>)); 
+<span class="code-keyword">public</span> void invoke() {
+	<span class="code-keyword">for</span> (<span class="code-object">int</span> i = 0; i &lt; m_hello.length; i++) { 
+          <span class="code-object">System</span>.out.println(m_hello[i].
+             sayHello(<span class="code-quote">"Clement"</span>)); 
         }
 }
 
  @Validate
- <SPAN class="code-keyword">public</SPAN> void starting() {    
-    <SPAN class="code-object">Thread</SPAN> T = <SPAN class="code-keyword">new</SPAN> <SPAN class="code-object">Thread</SPAN>(<SPAN class="code-keyword">this</SPAN>);     
-    end = <SPAN class="code-keyword">false</SPAN>;     
+ <span class="code-keyword">public</span> void starting() {    
+    <span class="code-object">Thread</span> T = <span class="code-keyword">new</span> <span class="code-object">Thread</span>(<span class="code-keyword">this</span>);     
+    end = <span class="code-keyword">false</span>;     
     T.start(); 
  }
 
  @Invalidate
- <SPAN class="code-keyword">public</SPAN> void stopping() {    
-     end = <SPAN class="code-keyword">true</SPAN>; 
+ <span class="code-keyword">public</span> void stopping() {    
+     end = <span class="code-keyword">true</span>; 
  }
-}</PRE>
-</DIV></DIV>
+}</pre>
+</div></div>
 
-<H1><A name="HowtouseiPOJOAnnotations-DefinedAnnotations"></A>Defined Annotations</H1>
+<h1><a name="HowtouseiPOJOAnnotations-DefinedAnnotations"></a>Defined Annotations</h1>
 
-<P>This section lists defined annotations and how to use them.</P>
+<p>This section lists defined annotations and how to use them.</p>
 
-<H2><A name="HowtouseiPOJOAnnotations-@Component"></A>@Component</H2>
+<h2><a name="HowtouseiPOJOAnnotations-@Component"></a>@Component</h2>
 
-<P><B>Goal:</B> Defines a component type<BR>
-<B>Target:</B> The component implementation class<BR>
-<B>Attributes:</B></P>
-<UL>
-	<LI>name : defines the component type name (optional, default = the class name)</LI>
-	<LI>factory: defines the factory name (optional, default = &quot;false&quot;)</LI>
-	<LI>immediate: defines the component type as immediate (optional, default = &quot;false&quot;)</LI>
-	<LI>architecture: enable the architecture exposition (optional, default = &quot;false&quot;)</LI>
-	<LI>propagation: enable configuration property propagation (on provided services) (optional, default = &quot;false&quot;)</LI>
-</UL>
+<p><b>Goal:</b> Defines a component type<br>
+<b>Target:</b> The component implementation class<br>
+<b>Attributes:</b></p>
+<ul>
+	<li>name : defines the component type name (optional, default = the class name)</li>
+	<li>factory: defines the factory name (optional, default = "false")</li>
+	<li>immediate: defines the component type as immediate (optional, default = "false")</li>
+	<li>architecture: enable the architecture exposition (optional, default = "false")</li>
+	<li>propagation: enable configuration property propagation (on provided services) (optional, default = "false")</li>
+</ul>
 
 
-<H2><A name="HowtouseiPOJOAnnotations-@Provides"></A>@Provides</H2>
+<h2><a name="HowtouseiPOJOAnnotations-@Provides"></a>@Provides</h2>
 
-<P><B>Goal:</B> Defines that the component type provide services<BR>
-<B>Target:</B> The component implementation class<BR>
-<B>Attributes:</B></P>
-<UL>
-	<LI>specifications: defines the provided interface (optional, default = all implemented interfaces)</LI>
-	<LI>factory: defines the service object creation policy (&quot;SINGLETON&quot; or &quot;SERVICE&quot;) (optional, default = &quot;SINGLETON&quot;)</LI>
-</UL>
+<p><b>Goal:</b> Defines that the component type provide services<br>
+<b>Target:</b> The component implementation class<br>
+<b>Attributes:</b></p>
+<ul>
+	<li>specifications: defines the provided interface (optional, default = all implemented interfaces)</li>
+	<li>factory: defines the service object creation policy ("SINGLETON" or "SERVICE") (optional, default = "SINGLETON")</li>
+	<li><b>[1.1.0-SNAPSHOT]</b> the <tt>factory</tt> attribute became <tt>strategy</tt>. A third policy is now available (<tt>instance</tt>) allowing to create one service object per asking instance. Moreover, it is also possible to indicates the <tt>CreationStrategy</tt> class name.</li>
+</ul>
 
 
-<P><EM>Note:</EM> &quot;SERVICE&quot; means OSGi service factory.</P>
+<p><em>Note:</em> "SERVICE" means OSGi service factory.</p>
 
-<H2><A name="HowtouseiPOJOAnnotations-@Requires"></A>@Requires</H2>
+<h2><a name="HowtouseiPOJOAnnotations-@Requires"></a>@Requires</h2>
 
-<P><B>Goal:</B> Defines a service dependency<BR>
-<B>Target:</B> Field<BR>
-<B>Attributes:</B></P>
-<UL>
-	<LI>Filter: defines the LDAP filter (optional)</LI>
-	<LI>Optional: defines if the dependency is optional (optional, default = &quot;false&quot;)</LI>
-	<LI>Id: defines the dependency Id (useful to identify bind &amp; unbind methods) (optional, default = field name) (if a dependency with the same id is already created (by a @bind or @unbind annotation), it merges the dependencies).</LI>
-	<LI>Nullable: enable or disable the Null Object injection when the dependency is optional and no providers are available (optional, default = &quot;true&quot;)</LI>
-	<LI>Default-Implementation: set the Default-Implmentation (optional, by default iPOJO uses a Null object)</LI>
-	<LI>Policy: defines the binding policy (accepted value : dynamic, static, dynamic-priority) (optional, default = &quot;dynamic&quot;)</LI>
-	<LI>Comparator: defines the comparator to use to sort service references (optional, default = OSGi Service Reference Comparator)</LI>
-	<LI>From : defines the specific provider to use [New in the 0.9.0-SNAPSHOT version]</LI>
-</UL>
+<p><b>Goal:</b> Defines a service dependency<br>
+<b>Target:</b> Field<br>
+<b>Attributes:</b></p>
+<ul>
+	<li>Filter: defines the LDAP filter (optional)</li>
+	<li>Optional: defines if the dependency is optional (optional, default = "false")</li>
+	<li>Id:
+defines the dependency Id (useful to identify bind &amp; unbind
+methods) (optional, default = field name) (if a dependency with the
+same id is already created (by a @bind or @unbind annotation), it
+merges the dependencies).</li>
+	<li>Nullable: enable or disable the
+Null Object injection when the dependency is optional and no providers
+are available (optional, default = "true")</li>
+	<li>Default-Implementation: set the Default-Implmentation (optional, by default iPOJO uses a Null object)</li>
+	<li>Policy: defines the binding policy (accepted value : dynamic, static, dynamic-priority) (optional, default = "dynamic")</li>
+	<li>Comparator: defines the comparator to use to sort service references (optional, default = OSGi Service Reference Comparator)</li>
+	<li>From : defines the specific provider to use</li>
+</ul>
 
 
-<H2><A name="HowtouseiPOJOAnnotations-@ServiceProperty"></A>@ServiceProperty</H2>
+<h2><a name="HowtouseiPOJOAnnotations-@ServiceProperty"></a>@ServiceProperty</h2>
 
-<P><B>Goal:</B> Defines a service property<BR>
-<B>Target:</B> Field or Method<BR>
-<B>Attributes:</B></P>
-<UL>
-	<LI>name: property name (optional, default=field name or computed by removing &quot;set&quot; from the method name (for instance setFoo(String ff) will get the Foo name))</LI>
-	<LI>value: property value (optional, default=no value)</LI>
-</UL>
+<p><b>Goal:</b> Defines a service property<br>
+<b>Target:</b> Field<br>
+<b>Attributes:</b></p>
+<ul>
+	<li>name: property name (optional, default=field name</li>
+	<li>value: property value (optional, default=no value)</li>
+</ul>
 
 
-<P><EM>note:</EM> if another service property with the same name is defined the method or the field is added to the existing property</P>
+<h2><a name="HowtouseiPOJOAnnotations-@Property"></a>@Property</h2>
 
-<H2><A name="HowtouseiPOJOAnnotations-@Property"></A>@Property</H2>
-
-<P><B>Goal:</B> Defines a property<BR>
-<B>Target:</B> Field or Method<BR>
-<B>Attributes:</B></P>
-<UL>
-	<LI>name: property name (optional, default=field name computed by removing &quot;set&quot; from the method name (for instance setFoo(String ff) will get the Foo name))</LI>
-	<LI>value: property value (optional, default=no value)</LI>
-</UL>
+<p><b>Goal:</b> Defines a property<br>
+<b>Target:</b> Field or Method<br>
+<b>Attributes:</b></p>
+<ul>
+	<li>name: property name (optional, default=field name computed by
+removing "set" from the method name (for instance setFoo(String ff)
+will get the Foo name))</li>
+	<li>value: property value (optional, default=no value)</li>
+</ul>
 
 
-<P><EM>note:</EM> if another property with the same name is defined the method or the field is added to the existing property</P>
+<p><em>note:</em> if another property with the same name is defined the method or the field is added to the existing property</p>
 
-<H2><A name="HowtouseiPOJOAnnotations-@Bind"></A>@Bind</H2>
+<h2><a name="HowtouseiPOJOAnnotations-@Bind"></a>@Bind</h2>
 
-<P><B>Goal:</B> Defines a bind method<BR>
-<B>Target:</B> Method<BR>
-<B>Attributes:</B></P>
-<UL>
-	<LI>Id: Dependency Id, if the id is already defines in a &quot;@requires &quot; or &quot;@unbind&quot; annotation, it adds this method as a bind method of the already created dependency. (optional, default= no id, compute an id if the method name begin by &quot;bind&quot; (for instance &quot;bindFoo&quot; will have the &quot;Foo&quot; id))</LI>
-	<LI>Specification : required dependency (optional)</LI>
-	<LI>Aggregate : is the dependency an aggregate dependency (optional, default= &quot;false&quot;)</LI>
-	<LI>Optional: is the dependency an optional dependency (optional, default= &quot;false&quot;)</LI>
-	<LI>Filter: dependency LDAP filter (optional)</LI>
-	<LI>Policy: defines the binding policy (accepted value : dynamic, static, dynamic-priority) (optional, default = &quot;dynamic&quot;)</LI>
-	<LI>Comparator: defines the comparator to use to sort service references (optional, default = OSGi Service Reference Comparator)</LI>
-	<LI>From : defines the specific provider to use [New in the 0.9.0-SNAPSHOT version]</LI>
-</UL>
+<p><b>Goal:</b> Defines a bind method<br>
+<b>Target:</b> Method<br>
+<b>Attributes:</b></p>
+<ul>
+	<li>Id: Dependency Id, if the id is already defines in a
+"@requires " or "@unbind" annotation, it adds this method as a bind
+method of the already created dependency. (optional, default= no id,
+compute an id if the method name begin by "bind" (for instance
+"bindFoo" will have the "Foo" id))</li>
+	<li>Specification : required dependency (optional)</li>
+	<li>Aggregate : is the dependency an aggregate dependency (optional, default= "false")</li>
+	<li>Optional: is the dependency an optional dependency (optional, default= "false")</li>
+	<li>Filter: dependency LDAP filter (optional)</li>
+	<li>Policy: defines the binding policy (accepted value : dynamic, static, dynamic-priority) (optional, default = "dynamic")</li>
+	<li>Comparator: defines the comparator to use to sort service references (optional, default = OSGi Service Reference Comparator)</li>
+	<li>From : defines the specific provider to use</li>
+</ul>
 
 
-<H2><A name="HowtouseiPOJOAnnotations-@Unbind"></A>@Unbind</H2>
+<h2><a name="HowtouseiPOJOAnnotations-@Unbind"></a>@Unbind</h2>
 
-<P><B>Goal:</B> Defines an unbind method<BR>
-<B>Target:</B> Method<BR>
-<B>Attributes:</B></P>
-<UL>
-	<LI>Id: Dependency Id, if the id is already defines in a &quot;@requires&quot; or &quot;@bind&quot; annotation, it adds this method as an unbind method of the already created dependency. (optional, default= no id, compute an id if the method name begin by &quot;unbind&quot; (for instance &quot;unbindFoo&quot; will have the &quot;Foo&quot; id))</LI>
-	<LI>Specification : required dependency (optional)</LI>
-	<LI>Aggregate : is the dependency an aggregate dependency (optional, default= &quot;false&quot;)</LI>
-	<LI>Optional: is the dependency an optional dependency (optional, default= &quot;false&quot;)</LI>
-	<LI>Filter: dependency LDAP filter (optional)</LI>
-	<LI>Policy: defines the binding policy (accepted value : dynamic, static, dynamic-priority) (optional, default = &quot;dynamic&quot;)</LI>
-	<LI>Comparator: defines the comparator to use to sort service references (optional, default = OSGi Service Reference Comparator)</LI>
-	<LI>From : defines the specific provider to use [New in the 0.9.0-SNAPSHOT version]</LI>
-</UL>
+<p><b>Goal:</b> Defines an unbind method<br>
+<b>Target:</b> Method<br>
+<b>Attributes:</b></p>
+<ul>
+	<li>Id: Dependency Id, if the id is already defines in a
+"@requires" or "@bind" annotation, it adds this method as an unbind
+method of the already created dependency. (optional, default= no id,
+compute an id if the method name begin by "unbind" (for instance
+"unbindFoo" will have the "Foo" id))</li>
+	<li>Specification : required dependency (optional)</li>
+	<li>Aggregate : is the dependency an aggregate dependency (optional, default= "false")</li>
+	<li>Optional: is the dependency an optional dependency (optional, default= "false")</li>
+	<li>Filter: dependency LDAP filter (optional)</li>
+	<li>Policy: defines the binding policy (accepted value : dynamic, static, dynamic-priority) (optional, default = "dynamic")</li>
+	<li>Comparator: defines the comparator to use to sort service references (optional, default = OSGi Service Reference Comparator)</li>
+	<li>From : defines the specific provider to use</li>
+</ul>
 
 
-<H2><A name="HowtouseiPOJOAnnotations-@Validate"></A>@Validate</H2>
+<h2><a name="HowtouseiPOJOAnnotations-@Validate"></a>@Validate</h2>
 
-<P><B>Goal:</B> defines a validate lifecycle callback<BR>
-<B>Target:</B> method</P>
+<p><b>Goal:</b> defines a validate lifecycle callback<br>
+<b>Target:</b> method</p>
 
-<H2><A name="HowtouseiPOJOAnnotations-@Invalidate"></A>@Invalidate</H2>
+<h2><a name="HowtouseiPOJOAnnotations-@Invalidate"></a>@Invalidate</h2>
 
-<P><B>Goal:</B> defines a validate lifecycle callback<BR>
-<B>Target:</B> method</P>
+<p><b>Goal:</b> defines a validate lifecycle callback<br>
+<b>Target:</b> method</p>
 
-<H2><A name="HowtouseiPOJOAnnotations-TemporalDependencies%28externalhandler%29%5CNewinthe0.9.0SNAPSHOTversion%5C"></A>Temporal Dependencies (external handler) [New in the 0.9.0-SNAPSHOT version]</H2>
+<h2><a name="HowtouseiPOJOAnnotations-TemporalDependencies(externalhandler)"></a>Temporal Dependencies (external handler)</h2>
 
-<P>The temporal dependency handler is an external handler. However, it can be used with an annotation defined in the iPOJO annotations jar file. <BR>
-The annotation is org.apache.felix.ipojo.handler.temporal.Requires and targets a field. <BR>
-<B>Attributes:</B></P>
-<UL>
-	<LI>filter : specify the dependency filter</LI>
-	<LI>timeout : specify the dependency timeout (optional)</LI>
-	<LI>onTimeout : specify the onTimeout action (null, nullable, empty-array, default-implementation (specify the class name in this case) (optional).</LI>
-</UL>
+<p>The temporal dependency handler is an external handler. However, it
+can be used with an annotation defined in the iPOJO annotations jar
+file. <br>
+The annotation is org.apache.felix.ipojo.handler.temporal.Requires and targets a field. <br>
+<b>Attributes:</b></p>
+<ul>
+	<li>filter : specify the dependency filter</li>
+	<li>timeout : specify the dependency timeout (optional)</li>
+	<li>onTimeout
+: specify the onTimeout action (null, nullable, empty-array,
+default-implementation (specify the class name in this case) (optional).</li>
+</ul>
 
 
-<H1><A name="HowtouseiPOJOAnnotations-Metadatafileandannotationmerge"></A>Metadata file and annotation merge</H1>
 
-<P>It is possible to defines component type both in the metadata file (in XML) and by using annotation. However, if a component type defined by using annotations has the same name than a type define in the XML file, the XML descriptor override the annotation defined type. However, a warning message is launched during the manipulation.</P>
+<h2><a name="HowtouseiPOJOAnnotations-ExposinginstancesasaJMXMBean(externalhandler)\Newinthe1.1.0SNAPSHOTversion\"></a>Exposing instances as a JMX MBean (external handler) [New in the 1.1.0-SNAPSHOT version]</h2>
 
-<H1><A name="HowtouseiPOJOAnnotations-Instancecreation"></A>Instance creation</H1>
+<p>The JMX Handler allows exposing an instance as a JMX MBean. To
+configure the JMX handler directly from your code, three annotations
+are provided. They are in the <tt>org.apache.felix.ipojo.handlers.jmx</tt> package</p>
 
-<P>Annotation can only be used to define component type. To define instances, you need to use the XML descriptor. Instance can refer to annotated types by referring to their names.</P>
-<DIV class="code"><DIV class="codeContent">
-<PRE class="code-xml"><SPAN class="code-tag">&lt;instance component=<SPAN class="code-quote">&quot;ipojo.example.hello.impl.HelloImpl&quot;</SPAN>/&gt;</SPAN>
-<SPAN class="code-tag">&lt;instance component=<SPAN class="code-quote">&quot;AnnotedHelloClient&quot;</SPAN>/&gt;</SPAN></PRE>
-</DIV></DIV>
-
-<H1><A name="HowtouseiPOJOAnnotations-UsingCustomAnnotations"></A>Using Custom Annotations</H1>
-
-<P>External handlers can provides their own annotations. Using these annotations just requires to add them to your build path. To external handlers annotations, please refer to the external handler documentation.</P></TD>
-<TD class="confluenceTd" valign="top" width="20%">
-<H6><A name="HowtouseiPOJOAnnotations-Overview"></A><B>Overview</B></H6>
-<UL>
-	<LI><A href="apache-felix-ipojo.html" title="Apache Felix iPOJO">Home Page</A></LI>
-	<LI><A href="apache-felix-ipojo-feature-overview.html" title="Apache Felix iPOJO Feature Overview">iPOJO Feature Overview</A></LI>
-	<LI><A href="download.html" title="Download">Download &amp; Install </A></LI>
-</UL>
+<p>The <tt>@org.apache.felix.ipojo.handlers.jmx.Config</tt> (<tt>@Config</tt> if the package it correctly imported) annotation is a type annotation (so placed on the <tt>class</tt> element. This annotation indicates that the instance will be exposed as an MBean. This annotation supports:</p>
+<ul>
+	<li>usesMOSGi: set to <tt>true</tt> to use MOSGi. Otherwise, the MBean will be exposed in the MBean Platform Server (default: <tt>false</tt>).</li>
+	<li>objectname: set the MBean objectname. The objectname must follow JMX specification. (default: <tt>package-name:factory-name:instance-name</tt>)</li>
+	<li>domain: set the MBean domain. (default: <tt>package-name</tt>)</li>
+	<li>name: set the MBean name. (default: <tt>instance-name</tt>).</li>
+</ul>
 
 
-<H6><A name="HowtouseiPOJOAnnotations-GettingStarted"></A><B>Getting Started</B></H6>
-<UL>
-	<LI><A href="ipojo-in-10-minutes.html" title="iPOJO in 10 minutes">iPOJO in 10 minutes</A></LI>
-	<LI><A href="ipojo-hello-word-maven-based-tutorial.html" title="iPOJO Hello Word (Maven-Based) tutorial">iPOJO Hello Word &#40;Maven&#45;Based&#41; tutorial</A></LI>
-	<LI><A href="ipojo-advanced-tutorial.html" title="iPOJO Advanced Tutorial">iPOJO Advanced Tutorial</A></LI>
-</UL>
+<p>The <tt>@org.apache.felix.ipojo.handlers.jmx.Property</tt> (<tt>@Property</tt>) annotation is a field annotation indicating that the field is exposed in the MBean. The supported attributes are:</p>
+<ul>
+	<li>name: set the property name</li>
+	<li>rights: set the access permission. Possible values are <tt>r</tt> (read only) and <tt>w</tt> (read and write). By default, properties are in read-only mode.</li>
+	<li>notification: enables notification on this property. By default notifications are disabled.</li>
+</ul>
 
 
-<H6><A name="HowtouseiPOJOAnnotations-UserGuide"></A><B>User Guide</B></H6>
-<UL>
-	<LI><A href="describing-components.html" title="Describing components">Describing components (handler list) </A></LI>
-	<LI><A href="#" title="How to use iPOJO Annotations">How to use iPOJO Annotations</A></LI>
-	<LI><A href="using-xml-schemas.html" title="Using XML Schemas">Using XML Schemas</A></LI>
-	<LI><A href="ipojo-advanced-topics.html" title="iPOJO Advanced Topics">Advanced Topics</A></LI>
-	<LI><A href="ipojo-faq.html" title="iPOJO FAQ">FAQ</A></LI>
-</UL>
+<p>The <tt>@org.apache.felix.ipojo.handlers.jmx.Method</tt> (<tt>@Method</tt>) annotation is a method annotation indicating that the method is exposed in the MBean. Only one attribute can be customized:</p>
+<ul>
+	<li>description: set the method description.</li>
+</ul>
 
 
-<H6><A name="HowtouseiPOJOAnnotations-Tools"></A><B>Tools</B></H6>
-<UL>
-	<LI><A href="ipojo-eclipse-plug-in.html" title="iPOJO Eclipse Plug-in">iPOJO Eclipse Plug&#45;in</A></LI>
-	<LI><A href="ipojo-ant-task.html" title="iPOJO Ant Task">iPOJO Ant Task</A></LI>
-	<LI><A href="ipojo-maven-plug-in.html" title="iPOJO Maven Plug-in">iPOJO Maven Plug&#45;in</A></LI>
-	<LI><A href="ipojo-concepts-overview.html" title="iPOJO Concepts Overview">iPOJO concepts overview</A></LI>
-</UL>
+
+<h1><a name="HowtouseiPOJOAnnotations-Metadatafileandannotationmerge"></a>Metadata file and annotation merge</h1>
+
+<p>It is possible to defines component type both in the metadata file
+(in XML) and by using annotation. However, if a component type defined
+by using annotations has the same name than a type define in the XML
+file, the XML descriptor override the annotation defined type. However,
+a warning message is launched during the manipulation.</p>
+
+<h1><a name="HowtouseiPOJOAnnotations-Instancecreation"></a>Instance creation</h1>
+
+<p>Annotation can only be used to define component type. To define
+instances, you need to use the XML descriptor. Instance can refer to
+annotated types by referring to their names.</p>
+<div class="code"><div class="codeContent">
+<pre class="code-xml"><span class="code-tag">&lt;instance component=<span class="code-quote">"ipojo.example.hello.impl.HelloImpl"</span>/&gt;</span>
+<span class="code-tag">&lt;instance component=<span class="code-quote">"AnnotedHelloClient"</span>/&gt;</span></pre>
+</div></div>
+
+<h1><a name="HowtouseiPOJOAnnotations-UsingCustomAnnotations"></a>Using Custom Annotations</h1>
+
+<p>External handlers can provides their own annotations. Using these
+annotations just requires to add them to your build path. To external
+handlers annotations, please refer to the external handler
+documentation.</p></td>
+<td class="confluenceTd" valign="top" width="20%">
+<h6><a name="HowtouseiPOJOAnnotations-Overview"></a><b>Overview</b></h6>
+<ul>
+	<li><a href="http://felix.apache.org/site/apache-felix-ipojo.html" title="Apache Felix iPOJO">Home Page</a></li>
+	<li><a href="http://felix.apache.org/site/apache-felix-ipojo-feature-overview.html" title="Apache Felix iPOJO Feature Overview">iPOJO Feature Overview</a></li>
+	<li><a href="http://felix.apache.org/site/download.html" title="Download">Download &amp; Install </a></li>
+</ul>
 
 
-<H6><A name="HowtouseiPOJOAnnotations-DeveloperGuide"></A><B>Developer Guide</B></H6>
-<UL>
-	<LI>API: <SPAN class="nobr"><A href="http://people.apache.org/~clement/ipojo/api/0.8/" title="Visit page outside Confluence" rel="nofollow">0.8<SUP><IMG class="rendericon" src="../../cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI>
-	<LI><A href="how-to-write-your-own-handler.html" title="How to write your own handler">How to write your own handler</A></LI>
-	<LI><A href="how-to-use-ipojo-manipulation-metadata.html" title="How to use iPOJO Manipulation Metadata">How to use iPOJO Manipulation Metadata</A></LI>
-</UL>
+<h6><a name="HowtouseiPOJOAnnotations-GettingStarted"></a><b>Getting Started</b></h6>
+<ul>
+	<li><a href="http://felix.apache.org/site/ipojo-in-10-minutes.html" title="iPOJO in 10 minutes">iPOJO in 10 minutes</a></li>
+	<li><a href="" title="How to use iPOJO Annotations">How to use iPOJO Annotations</a></li>
+	<li><a href="http://felix.apache.org/site/ipojo-hello-word-maven-based-tutorial.html" title="iPOJO Hello Word (Maven-Based) tutorial">iPOJO Hello Word (Maven-Based) tutorial</a></li>
+	<li><a href="http://felix.apache.org/site/ipojo-advanced-tutorial.html" title="iPOJO Advanced Tutorial">iPOJO Advanced Tutorial</a></li>
+	<li><a href="http://felix.apache.org/site/ipojo-composition-tutorial.html" title="iPOJO Composition Tutorial">iPOJO Composition Tutorial</a></li>
+</ul>
 
 
-<H6><A name="HowtouseiPOJOAnnotations-Misc%26Contact"></A><B>Misc &amp; Contact</B></H6>
-<UL>
-	<LI><A href="apache-felix-ipojo-issuestracker.html" title="apache-felix-ipojo-issuestracker">Issues Tracker</A></LI>
-	<LI><A href="apache-felix-ipojo-supportedvms.html" title="apache-felix-ipojo-supportedVMs">Supported JVMs</A></LI>
-	<LI><A href="apache-felix-ipojo-supportedosgi.html" title="apache-felix-ipojo-supportedOSGi">Supported OSGi Implementations</A></LI>
-	<LI><A href="future-ideas.html" title="Future Ideas">Future Ideas</A></LI>
-	<LI><A href="contact.html" title="Contact">Contact</A></LI>
-	<LI><A href="related-works.html" title="Related Works">Related Works</A></LI>
-	<LI><A href="article-presentations.html" title="Article & Presentations">Article &amp; Presentations</A></LI>
-</UL>
+<h6><a name="HowtouseiPOJOAnnotations-UserGuide"></a><b>User Guide</b></h6>
+<ul>
+	<li><a href="http://felix.apache.org/site/describing-components.html" title="Describing components">Describing components (handler list) </a></li>
+	<li><a href="http://felix.apache.org/site/using-xml-schemas.html" title="Using XML Schemas">Using XML Schemas</a></li>
+	<li><a href="http://felix.apache.org/site/apache-felix-ipojo-testing-components.html" title="apache-felix-ipojo-testing-components">Testing components</a></li>
+	<li><a href="http://felix.apache.org/site/ipojo-advanced-topics.html" title="iPOJO Advanced Topics">Advanced Topics</a></li>
+	<li><a href="http://felix.apache.org/site/ipojo-faq.html" title="iPOJO FAQ">FAQ</a></li>
+</ul>
 
 
-<HR>
-<DIV class="" align="center">
-<P><SPAN class="nobr"><A href="http://cwiki.apache.org/confluence/createrssfeed.action?types=blogpost&amp;statuses=created&amp;statuses=modified&amp;spaces=FELIX&amp;labelString=iPOJO&amp;rssType=atom&amp;maxResults=10&amp;timeSpan=5&amp;publicFeed=true&amp;title=iPOJO%20Atom%20Feed" title="Stay tuned!" rel="nofollow"><IMG src="../../cwiki.apache.org/confluence/images/icons/feed-icon-32x32.png" align="absmiddle" border="0"><SUP><IMG class="rendericon" src="../../cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></P></DIV></TD></TR></TBODY></TABLE>
-    </DIV>
-  </BODY>
+<h6><a name="HowtouseiPOJOAnnotations-Tools"></a><b>Tools</b></h6>
+<ul>
+	<li><a href="http://felix.apache.org/site/ipojo-eclipse-plug-in.html" title="iPOJO Eclipse Plug-in">iPOJO Eclipse Plug-in</a></li>
+	<li><a href="http://felix.apache.org/site/ipojo-ant-task.html" title="iPOJO Ant Task">iPOJO Ant Task</a></li>
+	<li><a href="http://felix.apache.org/site/ipojo-maven-plug-in.html" title="iPOJO Maven Plug-in">iPOJO Maven Plug-in</a></li>
+	<li><a href="http://felix.apache.org/site/apache-felix-ipojo-junit4osgi.html" title="apache-felix-ipojo-junit4osgi">Junit4OSGi</a></li>
+	<li><a href="http://felix.apache.org/site/ipojo-concepts-overview.html" title="iPOJO Concepts Overview">iPOJO concepts overview</a></li>
+</ul>
 
-<!-- Mirrored Site: felix.apache.org. File: /site/how-to-use-ipojo-annotations.html. Date: Mon, 13 Oct 2008 06:52:42 GMT -->
-</HTML>
+
+<h6><a name="HowtouseiPOJOAnnotations-DeveloperGuide"></a><b>Developer Guide</b></h6>
+<ul>
+	<li>API: <span class="nobr"><a href="http://people.apache.org/%7Eclement/ipojo/api/1.0/" title="Visit page outside Confluence" rel="nofollow">1.0<sup><img class="rendericon" src="how-to-use-ipojo-annotations_files/linkext7.gif" alt="" align="absmiddle" border="0" width="7" height="7"></sup></a></span></li>
+	<li><a href="http://felix.apache.org/site/how-to-write-your-own-handler.html" title="How to write your own handler">How to write your own handler</a></li>
+	<li><a href="http://felix.apache.org/site/how-to-use-ipojo-manipulation-metadata.html" title="How to use iPOJO Manipulation Metadata">How to use iPOJO Manipulation Metadata</a></li>
+	<li><a href="http://felix.apache.org/site/dive-into-the-ipojo-manipulation-depths.html" title="Dive into the iPOJO Manipulation depths">Dive into the iPOJO Manipulation depths</a></li>
+</ul>
+
+
+<h6><a name="HowtouseiPOJOAnnotations-Misc&amp;Contact"></a><b>Misc &amp; Contact</b></h6>
+<ul>
+	<li><a href="http://felix.apache.org/site/apache-felix-ipojo-issuestracker.html" title="apache-felix-ipojo-issuestracker">Issues Tracker</a></li>
+	<li><a href="http://felix.apache.org/site/apache-felix-ipojo-supportedvms.html" title="apache-felix-ipojo-supportedVMs">Supported JVMs</a></li>
+	<li><a href="http://felix.apache.org/site/apache-felix-ipojo-supportedosgi.html" title="apache-felix-ipojo-supportedOSGi">Supported OSGi Implementations</a></li>
+	<li><span class="nobr"><a href="http://ipojo-dark-side.blogspot.com/" title="Visit page outside Confluence" rel="nofollow">iPOJO's Dark Side Blog<sup><img class="rendericon" src="how-to-use-ipojo-annotations_files/linkext7.gif" alt="" align="absmiddle" border="0" width="7" height="7"></sup></a></span></li>
+	<li><a href="http://felix.apache.org/site/future-ideas.html" title="Future Ideas">Future Ideas</a></li>
+	<li><a href="http://felix.apache.org/site/contact.html" title="Contact">Contact</a></li>
+	<li><a href="http://felix.apache.org/site/related-works.html" title="Related Works">Related Works</a></li>
+	<li><a href="http://felix.apache.org/site/article-presentations.html" title="Article &amp; Presentations">Article &amp; Presentations</a></li>
+</ul>
+
+
+<hr>
+<div class="" align="center">
+<p><span class="nobr"><a href="http://cwiki.apache.org/confluence/createrssfeed.action?types=blogpost&amp;statuses=created&amp;statuses=modified&amp;spaces=FELIX&amp;labelString=iPOJO&amp;rssType=atom&amp;maxResults=10&amp;timeSpan=5&amp;publicFeed=true&amp;title=iPOJO%20Atom%20Feed" title="Stay tuned!" rel="nofollow"><img src="how-to-use-ipojo-annotations_files/feed-icon-32x32.png" align="absmiddle" border="0"><sup><img class="rendericon" src="how-to-use-ipojo-annotations_files/linkext7.gif" alt="" align="absmiddle" border="0" width="7" height="7"></sup></a></span></p></div>
+
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script><script src="how-to-use-ipojo-annotations_files/ga.js" type="text/javascript"></script>
+<script type="text/javascript">
+var pageTracker = _gat._getTracker("UA-1518442-4");
+pageTracker._trackPageview();
+</script>
+</td></tr></tbody></table>
+    </div>
+  </body></html>
\ No newline at end of file
