felix-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From pde...@apache.org
Subject svn commit: r1525175 - in /felix/site/trunk/content/documentation/subprojects/apache-felix-dependency-manager: ./ apache-felix-dependency-manager-using-annotations/
Date Fri, 20 Sep 2013 23:19:31 GMT
Author: pderop
Date: Fri Sep 20 23:19:31 2013
New Revision: 1525175

URL: http://svn.apache.org/r1525175
Log:
CMS migration

Added:
    felix/site/trunk/content/documentation/subprojects/apache-felix-dependency-manager/apache-felix-dependency-manager-using-annotations/dependencymanager-annotations-composition.mdtext
      - copied, changed from r1525172, felix/site/trunk/content/documentation/subprojects/apache-felix-dependency-manager/apache-felix-dependency-manager-using-annotations/apache-felix-dependency-manager-using-annotations-composition.mdtext
Removed:
    felix/site/trunk/content/documentation/subprojects/apache-felix-dependency-manager/apache-felix-dependency-manager-using-annotations/apache-felix-dependency-manager-using-annotations-composition.mdtext
Modified:
    felix/site/trunk/content/documentation/subprojects/apache-felix-dependency-manager/apache-felix-dependency-manager-using-annotations.mdtext

Modified: felix/site/trunk/content/documentation/subprojects/apache-felix-dependency-manager/apache-felix-dependency-manager-using-annotations.mdtext
URL: http://svn.apache.org/viewvc/felix/site/trunk/content/documentation/subprojects/apache-felix-dependency-manager/apache-felix-dependency-manager-using-annotations.mdtext?rev=1525175&r1=1525174&r2=1525175&view=diff
==============================================================================
--- felix/site/trunk/content/documentation/subprojects/apache-felix-dependency-manager/apache-felix-dependency-manager-using-annotations.mdtext
(original)
+++ felix/site/trunk/content/documentation/subprojects/apache-felix-dependency-manager/apache-felix-dependency-manager-using-annotations.mdtext
Fri Sep 20 23:19:31 2013
@@ -17,6 +17,6 @@ components can interact with the dynamic
 * [{{ refs.dependencymanager-annotations-component.headers.excerpt }}]({{ refs.dependencymanager-annotations-component.path
}})
 * [{{ refs.dependencymanager-annotations-dependencies.headers.excerpt }}]({{ refs.dependencymanager-annotations-dependencies.path
}})
 * [{{ refs.dependencymanager-annotations-lifecycle.headers.excerpt }}]({{ refs.dependencymanager-annotations-lifecycle.path
}})
-* [Composition]({{ refs.apache-felix-dependency-manager-using-annotations-composition.path
}}) Explains how a component may be implemented using multiple object instances.
-* [BndTools Tutorial](https://bitbucket.org/marrs/bndtools-dmdemo) A BndTools based demo
of DependencyManager annotations.
+* [{{ refs.dependencymanager-annotations-composition.headers.excerpt }}]({{ refs.dependencymanager-composition-lifecycle.path
}})
+* [BndTools based demo of Dependency Manager annotations](https://bitbucket.org/marrs/bndtools-dmdemo)
 

Copied: felix/site/trunk/content/documentation/subprojects/apache-felix-dependency-manager/apache-felix-dependency-manager-using-annotations/dependencymanager-annotations-composition.mdtext
(from r1525172, felix/site/trunk/content/documentation/subprojects/apache-felix-dependency-manager/apache-felix-dependency-manager-using-annotations/apache-felix-dependency-manager-using-annotations-composition.mdtext)
URL: http://svn.apache.org/viewvc/felix/site/trunk/content/documentation/subprojects/apache-felix-dependency-manager/apache-felix-dependency-manager-using-annotations/dependencymanager-annotations-composition.mdtext?p2=felix/site/trunk/content/documentation/subprojects/apache-felix-dependency-manager/apache-felix-dependency-manager-using-annotations/dependencymanager-annotations-composition.mdtext&p1=felix/site/trunk/content/documentation/subprojects/apache-felix-dependency-manager/apache-felix-dependency-manager-using-annotations/apache-felix-dependency-manager-using-annotations-composition.mdtext&r1=1525172&r2=1525175&rev=1525175&view=diff
==============================================================================
--- felix/site/trunk/content/documentation/subprojects/apache-felix-dependency-manager/apache-felix-dependency-manager-using-annotations/apache-felix-dependency-manager-using-annotations-composition.mdtext
(original)
+++ felix/site/trunk/content/documentation/subprojects/apache-felix-dependency-manager/apache-felix-dependency-manager-using-annotations/dependencymanager-annotations-composition.mdtext
Fri Sep 20 23:19:31 2013
@@ -1,30 +1,36 @@
 translation_pending: true
-Title: Apache Felix Dependency Manager - Using Annotations - Composition
+Title: Dependency Manager Service Composition
+Excerpt: Dependency Manager service composition.
 
-# Annotations - Composition
+This section shows how a component may be implemented using multiple object instances.
 
-When implementing more complex services, you often find yourself using more than one instance
for a given service. However, several of these instances might want to have dependencies injected.
In such cases you need to tell the dependency manager which instances to consider. Within
a Component (or an Aspect/Adapter), you can annotate a method with the @Composition annotation.
This method is meant to return such composition of service instances, and the objects will
be considered as part of the service implementation. So, all  dependencies, as well as lifecycle
annotations (@Init, @Start, @Stop, @Destroy) will be applied on every objects returned by
the method annotated with the @Composition annotation.
+When implementing more complex services, you often find yourself using more than one instance
for a given service. 
+However, several of these instances might want to have dependencies injected. In such cases
you need to tell the 
+dependency manager which instances to consider. Within a Component (or an Aspect/Adapter),
you can annotate a method 
+with the @Composition annotation. This method is meant to return such composition of service
instances, and the objects 
+will be considered as part of the service implementation. So, all  dependencies, as well
as lifecycle annotations 
+(@Init, @Start, @Stop, @Destroy) will be applied on every objects returned by the method
annotated with the @Composition annotation.
 
 The following example illustrates a composition of two object instances, which are part of
the implementation of a *MyService* service:
 
-
+    :::java
     /**
      * Main implementation for the MyService Service
      */
     @Component
     public class MyServiceImpl implements MyService {
       // This object instance is also used to implement the service.
-      private Helper helper = new Helper();
+      private Helper helper = new Helper();
     
       // MyServiceImpl, and Helper objects are part of the composition
-      @Composition
-      Object[] getComposition() {
-        return new Object[] { this, helper };
-      }
+      @Composition
+      Object[] getComposition() {
+        return new Object[] { this, helper };
+      }
     
       // This dependency is also applied to the Helper
-      @ServiceDependency
-      Dependency dep;
+      @ServiceDependency
+      Dependency dep;
     
       // Same thing for this dependency
       @ServiceDependency
@@ -46,7 +52,7 @@ The following example illustrates a comp
     
     public class Helper {
       // Also injected, since we are part of the composition
-      Dependency dep;
+      Dependency dep;
     
       // But since we are not interested by the Dependency2, we don't have to declare the
bind(Dependency2) method ...
     
@@ -59,6 +65,6 @@ The following example illustrates a comp
          return extraServiceProperties;
       }
     }
-    
 
-Here, MyServiceImpl is the main component implementation, but is   composed of the Helper
object instance. So all Dependencies defined in  MyServiceImpl will be also injected to the
Helper (if the Helper  declares the fields or methods). The Helper may also declare lifecycle
 callbacks (optionally).
+Here, MyServiceImpl is the main component implementation, but is   composed of the Helper
object instance. So all Dependencies defined in MyServiceImpl 
+will be also injected to the Helper (if the Helper  declares the fields or methods). The
Helper may also declare lifecycle  callbacks (optionally).



Mime
View raw message