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: