Author: pderop
Date: Tue Jan 19 23:11:46 2016
New Revision: 1725648
URL: http://svn.apache.org/viewvc?rev=1725648&view=rev
Log:
Javadoc.
Modified:
felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/builder/lambda/DependencyActivatorBase.java
Modified:
felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/builder/lambda/DependencyActivatorBase.java
URL:
http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/builder/lambda/DependencyActivatorBase.java?rev=1725648&r1=1725647&r2=1725648&view=diff
==============================================================================
---
felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/builder/lambda/DependencyActivatorBase.java
(original)
+++
felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/builder/lambda/DependencyActivatorBase.java
Tue Jan 19 23:11:46 2016
@@ -18,17 +18,39 @@ import org.osgi.framework.BundleActivato
import org.osgi.framework.BundleContext;
/**
- * Defines a base for Activators in order to build DependencyManager
Components using a java8 style.
- * Code example:
+ * Defines a base for Activators in order to build DependencyManager
Components using a java8 style.<p>
*
+ * Code example using reflection callbacks:
* <pre> {@code
+ *
+ * import static org.apache.felix.dm.builder.lambda.DependencyActivatorBase.*;
+ * import static
org.apache.felix.dm.builder.lambda.DependencyActivatorBase.Cb.*;
+ *
+ * public class Activator extends DependencyActivatorBase {
+ * public void init() throws Exception {
+ * component(component -> component
+ * .provides(Provider.class, property -> "value")
+ * .factory(ProviderFactory.class, "create")
+ * .withService(LogService.class, srv -> srv.cb("set"))
+ * .life(null, "activate")); // no "init" method, but use
"activate" as the "start" method
+ * }
+ * }
+ * }</pre>
+ *
+ * Code example using method references
+ *
+ * <pre> {@code
+ *
+ * import static org.apache.felix.dm.builder.lambda.DependencyActivatorBase.*;
+ * import static
org.apache.felix.dm.builder.lambda.DependencyActivatorBase.Cb.*;
+ *
* public class Activator extends DependencyActivatorBase {
* public void init() throws Exception {
- * component(comp -> comp
- * .provides(Provider.class)
+ * component(component -> component
+ * .provides(Provider.class, property -> "value")
* .factory(ProviderFactory::new, ProviderFactory::create)
- * .withService(LogService.class, srv ->
srv.required().onAdd(ProviderImpl::set))
- * .onStart(ProviderImpl::start));
+ * .withService(LogService.class, srv -> srv.cb(ADD,
ProviderImpl::set))
+ * .life(START, ProviderImpl::activate));
* }
* }
* }</pre>