You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pd...@apache.org on 2016/11/13 19:06:05 UTC

svn commit: r1769540 - /felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/FluentProperty.java

Author: pderop
Date: Sun Nov 13 19:06:04 2016
New Revision: 1769540

URL: http://svn.apache.org/viewvc?rev=1769540&view=rev
Log:
FELIX-5406: DM lambda fluent service properties don't support dots.

Modified:
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/FluentProperty.java

Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/FluentProperty.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/FluentProperty.java?rev=1769540&r1=1769539&r2=1769540&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/FluentProperty.java (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/FluentProperty.java Sun Nov 13 19:06:04 2016
@@ -33,6 +33,21 @@ import org.apache.felix.dm.lambda.callba
  * } 
  * }</pre>
  * 
+ * When a property name contains dots ("."), then since it's not possible to declare a lambda parameter with some dots, you can
+ * encode the dots using some underscores. A single underscore is then converted to a dot, unless is it followed by another
+ * underscore in which case the two consecutive underscores ("__") are converted to a single underscore.
+ * 
+ * For example, assume your component provides a service using the two service.ranking and foo_bar service properties. In this case
+ * you would declare the service properties like this:<p>
+ * 
+ * <pre>{@code
+ * public class Activator extends DependencyManagerActivator {
+ *   public void init(BundleContext ctx, DependencyManager dm) throws Exception {
+ *       component(comp -> comp.impl(MyComponentImpl.class).provides(MyService.class, service_ranking->10, foo__bar -> "gabuzo"));
+ *   }
+ * } 
+ * }</pre>
+ * 
  * <b>Caution: Fluent properties requires the usage of the "-parameter" javac option.</b>
  * 
  * Under eclipse, you can enable this option using: