You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by bu...@apache.org on 2015/03/13 01:21:32 UTC

svn commit: r943609 - in /websites/staging/felix/trunk/content: ./ documentation/subprojects/apache-felix-dependency-manager/reference/components.html

Author: buildbot
Date: Fri Mar 13 00:21:32 2015
New Revision: 943609

Log:
Staging update by buildbot for felix

Modified:
    websites/staging/felix/trunk/content/   (props changed)
    websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-dependency-manager/reference/components.html

Propchange: websites/staging/felix/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Fri Mar 13 00:21:32 2015
@@ -1 +1 @@
-1666339
+1666340

Modified: websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-dependency-manager/reference/components.html
==============================================================================
--- websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-dependency-manager/reference/components.html (original)
+++ websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-dependency-manager/reference/components.html Fri Mar 13 00:21:32 2015
@@ -248,7 +248,7 @@ that is internally implemented using thr
 The following is the same example as in the previous section (Composition), but using a Factory approach in order to instantiate a composition of objects: 
 The "ProviderFactory" is first injected with a Configuration that can be possibly be used to create
 and configure all the other objects that are part of the composition; each object will also injected with
-the depenencies defined in the Activator.</p>
+the dependencies defined in the Activator.</p>
 <div class="codehilite"><pre><span class="kd">public</span> <span class="kd">class</span> <span class="nc">ProviderFactory</span> <span class="o">{</span>
     <span class="kd">private</span> <span class="n">ProviderParticipant1</span> <span class="n">m_participant1</span><span class="o">;</span>
     <span class="kd">private</span> <span class="n">ProviderParticipant2</span> <span class="n">m_participant2</span><span class="o">;</span>
@@ -288,12 +288,17 @@ the depenencies defined in the Activator
         <span class="k">return</span> <span class="k">new</span> <span class="n">Object</span><span class="o">[]</span> <span class="o">{</span> <span class="n">m_providerImpl</span><span class="o">,</span> <span class="n">m_participant1</span><span class="o">,</span> <span class="n">m_participant2</span> <span class="o">};</span>
     <span class="o">}</span>
 <span class="o">}</span>
+</pre></div>
+
 
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">Activator</span> <span class="kd">extends</span> <span class="n">DependencyActivatorBase</span> <span class="o">{</span>
+<p>And here is the Activator: notice the <em>setFactory</em> method that specifies the factory to use to create the implementation.
+Also pay attention to the <em>setComposition</em> method, which indicates the method to call in order to get all instances that 
+are part of a composition and need dependencies injected:</p>
+<div class="codehilite"><pre><span class="kd">public</span> <span class="kd">class</span> <span class="nc">Activator</span> <span class="kd">extends</span> <span class="n">DependencyActivatorBase</span> <span class="o">{</span>
     <span class="kd">public</span> <span class="kt">void</span> <span class="nf">init</span><span class="o">(</span><span class="n">BundleContext</span> <span class="n">ctx</span><span class="o">,</span> <span class="n">DependencyManager</span> <span class="n">m</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
         <span class="n">ProviderFactory</span> <span class="n">factory</span> <span class="o">=</span> <span class="k">new</span> <span class="n">ProviderFactory</span><span class="o">();</span>
         <span class="n">m</span><span class="o">.</span><span class="na">add</span><span class="o">(</span><span class="n">createComponent</span><span class="o">()</span>
-            <span class="o">.</span><span class="na">setFactory</span><span class="o">(</span><span class="n">factory</span><span class="o">,</span> <span class="s">&quot;create&quot;</span><span class="o">)</span>
+            <span class="o">.</span><span class="na">setFactory</span><span class="o">(</span><span class="n">factory</span><span class="o">,</span> <span class="s">&quot;create&quot;</span><span class="o">)</span> <span class="c1">// factory.create() will return the implementation instance</span>
             <span class="o">.</span><span class="na">setComposition</span><span class="o">(</span><span class="n">factory</span><span class="o">,</span> <span class="s">&quot;getComposition&quot;</span><span class="o">)</span>
             <span class="o">.</span><span class="na">add</span><span class="o">(</span><span class="n">createConfigurationDependency</span><span class="o">()</span>
                 <span class="o">.</span><span class="na">setPid</span><span class="o">(</span><span class="s">&quot;some.pid&quot;</span><span class="o">)</span>
@@ -306,7 +311,7 @@ the depenencies defined in the Activator
 
 <p>You can refer to this <a href="https://svn.apache.org/repos/asf/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/compositefactory/">sample code</a>, which is part of the source distribution.</p>
       <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
-        Rev. 1666339 by pderop on Fri, 13 Mar 2015 00:11:25 +0000
+        Rev. 1666340 by pderop on Fri, 13 Mar 2015 00:21:19 +0000
       </div>
       <div class="trademarkFooter"> 
         Apache Felix, Felix, Apache, the Apache feather logo, and the Apache Felix project