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">"create"</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">"create"</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">"getComposition"</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">"some.pid"</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