Added: websites/staging/felix/trunk/content/apidocs/dependencymanager.lambda/r13/org/apache/felix/dm/lambda/ComponentBuilder.html ============================================================================== --- websites/staging/felix/trunk/content/apidocs/dependencymanager.lambda/r13/org/apache/felix/dm/lambda/ComponentBuilder.html (added) +++ websites/staging/felix/trunk/content/apidocs/dependencymanager.lambda/r13/org/apache/felix/dm/lambda/ComponentBuilder.html Mon Oct 22 17:02:09 2018 @@ -0,0 +1,1936 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!-- NewPage --> +<html lang="en"> +<head> +<!-- Generated by javadoc (1.8.0_172) on Mon Oct 22 18:39:56 CEST 2018 --> +<title>ComponentBuilder</title> +<meta name="date" content="2018-10-22"> +<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style"> +<script type="text/javascript" src="../../../../../script.js"></script> +</head> +<body> +<script type="text/javascript"><!-- + try { + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="ComponentBuilder"; + } + } + catch(err) { + } +//--> +var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":38,"i25":6,"i26":6,"i27":6,"i28":6,"i29":38,"i30":6,"i31":6,"i32":38,"i33":6,"i34":6,"i35":6,"i36":6,"i37":38,"i38":6,"i39":6,"i40":38,"i41":6,"i42":6,"i43":6,"i44":6,"i45":6,"i46":6,"i47":6,"i48":6,"i49":6,"i50":6,"i51":6,"i52":18,"i53":6,"i54":18,"i55":6,"i56":6,"i57":18,"i58":18,"i59":18,"i60":18,"i61":18,"i62":6}; +var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"],32:["t6","Deprecated Methods"]}; +var altColor = "altColor"; +var rowColor = "rowColor"; +var tableTab = "tableTab"; +var activeTableTab = "activeTableTab"; +</script> +<noscript> +<div>JavaScript is disabled on your browser.</div> +</noscript> +<!-- ========= START OF TOP NAVBAR ======= --> +<div class="topNav"><a name="navbar.top"> +<!-- --> +</a> +<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> +<a name="navbar.top.firstrow"> +<!-- --> +</a> +<ul class="navList" title="Navigation"> +<li><a href="../../../../../overview-summary.html">Overview</a></li> +<li><a href="package-summary.html">Package</a></li> +<li class="navBarCell1Rev">Class</li> +<li><a href="package-tree.html">Tree</a></li> +<li><a href="../../../../../deprecated-list.html">Deprecated</a></li> +<li><a href="../../../../../index-all.html">Index</a></li> +<li><a href="../../../../../help-doc.html">Help</a></li> +</ul> +</div> +<div class="subNav"> +<ul class="navList"> +<li><a href="../../../../../org/apache/felix/dm/lambda/BundleDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../../../../org/apache/felix/dm/lambda/ConfigurationDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda"><span class="typeNameLink">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../../../index.html?org/apache/felix/dm/lambda/ComponentBuilder.html" target="_top">Frames</a></li> +<li><a href="ComponentBuilder.html" target="_top">No Frames</a></li> +</ul> +<ul class="navList" id="allclasses_navbar_top"> +<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li> +</ul> +<div> +<script type="text/javascript"><!-- + allClassesLink = document.getElementById("allclasses_navbar_top"); + if(window==top) { + allClassesLink.style.display = "block"; + } + else { + allClassesLink.style.display = "none"; + } + //--> +</script> +</div> +<div> +<ul class="subNavList"> +<li>Summary: </li> +<li>Nested | </li> +<li>Field | </li> +<li>Constr | </li> +<li><a href="#method.summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li>Field | </li> +<li>Constr | </li> +<li><a href="#method.detail">Method</a></li> +</ul> +</div> +<a name="skip.navbar.top"> +<!-- --> +</a></div> +<!-- ========= END OF TOP NAVBAR ========= --> +<!-- ======== START OF CLASS DATA ======== --> +<div class="header"> +<div class="subTitle">org.apache.felix.dm.lambda</div> +<h2 title="Interface ComponentBuilder" class="title">Interface ComponentBuilder<B extends ComponentBuilder<B>></h2> +</div> +<div class="contentContainer"> +<div class="description"> +<ul class="blockList"> +<li class="blockList"> +<dl> +<dt><span class="paramLabel">Type Parameters:</span></dt> +<dd><code>B</code> - the type of a builder that may extends this builder interface (aspect/adapter).</dd> +</dl> +<dl> +<dt>All Known Subinterfaces:</dt> +<dd><a href="../../../../../org/apache/felix/dm/lambda/BundleAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">BundleAdapterBuilder</a>, <a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>, <a href="../../../../../org/apache/felix/dm/lambda/ServiceAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">ServiceAdapterBuilder</a><T>, <a href="../../../../../org/apache/felix/dm/lambda/ServiceAspectBuilder.html" title="interface in org.apache.felix.dm.lambda">ServiceAspectBuilder</a><T></dd> +</dl> +<hr> +<br> +<pre>public interface <span class="typeNameLabel">ComponentBuilder<B extends ComponentBuilder<B>></span></pre> +<div class="block">Builds a Dependency Manager Component. <p> Components are the main building blocks for OSGi applications. + They can publish themselves as a service, and they can have dependencies. + These dependencies will influence their life cycle as component will only be activated when all + required dependencies are available. This interface is also the base interface for extended components like + aspects, adapters, etc ... + + <p> Example of a component that depends on a LogServce service. The dependency is injected by reflection + on fields having a compatible type with the LogService interface: + + <pre><code> + public class Activator extends DependencyManagerActivator { + public void init(BundleContext ctx, DependencyManager dm) throws Exception { + component(comp -> comp.impl(Pojo.class).withSvc(LogService.class)); + } + } + </code> </pre></div> +</li> +</ul> +</div> +<div class="summary"> +<ul class="blockList"> +<li class="blockList"> +<!-- ========== METHOD SUMMARY =========== --> +<ul class="blockList"> +<li class="blockList"><a name="method.summary"> +<!-- --> +</a> +<h3>Method Summary</h3> +<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> +<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd"> </span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd"> </span></span></caption> +<tr> +<th class="colFirst" scope="col">Modifier and Type</th> +<th class="colLast" scope="col">Method and Description</th> +</tr> +<tr id="i0" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#autoAdd-boolean-">autoAdd</a></span>(boolean autoAdd)</code> +<div class="block">Automatically adds this component to its DependencyManager object.</div> +</td> +</tr> +<tr id="i1" class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#autoConfig-java.lang.Class-boolean-">autoConfig</a></span>(java.lang.Class<?> clazz, + boolean autoConfig)</code> +<div class="block">Configures OSGi object (BundleContext, Component, etc ...) that will be injected in any field having the same OSGi object type.</div> +</td> +</tr> +<tr id="i2" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#autoConfig-java.lang.Class-java.lang.String-">autoConfig</a></span>(java.lang.Class<?> clazz, + java.lang.String field)</code> +<div class="block">Configures OSGi object (BundleContext, Component, etc ...) that will be injected in a given field.</div> +</td> +</tr> +<tr id="i3" class="rowColor"> +<td class="colFirst"><code>Component</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#build--">build</a></span>()</code> +<div class="block">Builds the real DependencyManager Component.</div> +</td> +</tr> +<tr id="i4" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#composition-java.lang.Object-java.lang.String-">composition</a></span>(java.lang.Object instance, + java.lang.String getCompositionMethod)</code> +<div class="block">Sets the instance and method to invoke to get back all instances that + are part of a composition and need dependencies injected.</div> +</td> +</tr> +<tr id="i5" class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#composition-java.lang.String-">composition</a></span>(java.lang.String getCompositionMethod)</code> +<div class="block">Sets the method to invoke on the service implementation to get back all + instances that are part of a composition and need dependencies injected.</div> +</td> +</tr> +<tr id="i6" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#composition-java.util.function.Supplier-">composition</a></span>(java.util.function.Supplier<java.lang.Object[]> getCompositionMethod)</code> +<div class="block">Sets a java8 method reference to a Supplier that returns all instances that are part of a composition and need dependencies injected.</div> +</td> +</tr> +<tr id="i7" class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#debug-java.lang.String-">debug</a></span>(java.lang.String label)</code> +<div class="block">Activates debug mode</div> +</td> +</tr> +<tr id="i8" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#destroy-org.apache.felix.dm.lambda.callbacks.InstanceCb-">destroy</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCb.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCb</a> callback)</code> +<div class="block">Sets an Object instance method reference used as the "destroy" callback.</div> +</td> +</tr> +<tr id="i9" class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#destroy-org.apache.felix.dm.lambda.callbacks.InstanceCbComponent-">destroy</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbComponent</a> callback)</code> +<div class="block">Sets an Object instance method reference used as the "destroy" callback.</div> +</td> +</tr> +<tr id="i10" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#destroy-java.lang.Object-java.lang.String-">destroy</a></span>(java.lang.Object callbackInstance, + java.lang.String callback)</code> +<div class="block">Sets a callback instance and the name of the method used as the "destroy" callback.</div> +</td> +</tr> +<tr id="i11" class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#destroy-java.lang.String-">destroy</a></span>(java.lang.String callback)</code> +<div class="block">Sets the name of the method used as the "destroy" callback.</div> +</td> +</tr> +<tr id="i12" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#factory-java.lang.Object-java.lang.String-">factory</a></span>(java.lang.Object factory, + java.lang.String createMethod)</code> +<div class="block">Sets the factory to use when creating the implementation.</div> +</td> +</tr> +<tr id="i13" class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#factory-java.util.function.Supplier-">factory</a></span>(java.util.function.Supplier<?> create)</code> +<div class="block">Configures a factory that can be used to create this component implementation.</div> +</td> +</tr> +<tr id="i14" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#factory-java.util.function.Supplier-java.util.function.Supplier-">factory</a></span>(java.util.function.Supplier<?> factory, + java.util.function.Supplier<java.lang.Object[]> getComposition)</code> +<div class="block">Configures a factory used to create this component implementation using a Factory object and a "getComposition" factory method.</div> +</td> +</tr> +<tr id="i15" class="rowColor"> +<td class="colFirst"><code><U> <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#factory-java.util.function.Supplier-java.util.function.Function-java.util.function.Function-">factory</a></span>(java.util.function.Supplier<U> factory, + java.util.function.Function<U,?> create, + java.util.function.Function<U,java.lang.Object[]> getComposition)</code> +<div class="block">Configures a factory that also returns a composition of objects for this component implemenation.</div> +</td> +</tr> +<tr id="i16" class="altColor"> +<td class="colFirst"><code><U,V> <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#factory-java.util.function.Supplier-java.util.function.Function-">factory</a></span>(java.util.function.Supplier<U> factory, + java.util.function.Function<U,V> create)</code> +<div class="block">Configures a factory used to create this component implementation using a Factory object and a method in the Factory object.</div> +</td> +</tr> +<tr id="i17" class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#impl-java.lang.Object-">impl</a></span>(java.lang.Object impl)</code> +<div class="block">Configures the component implementation.</div> +</td> +</tr> +<tr id="i18" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#init-org.apache.felix.dm.lambda.callbacks.InstanceCb-">init</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCb.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCb</a> callback)</code> +<div class="block">Sets an Object instance method reference used as the "init" callback.</div> +</td> +</tr> +<tr id="i19" class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#init-org.apache.felix.dm.lambda.callbacks.InstanceCbComponent-">init</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbComponent</a> callback)</code> +<div class="block">Sets an Object instance method reference used as the "init" callback.</div> +</td> +</tr> +<tr id="i20" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#init-java.lang.Object-java.lang.String-">init</a></span>(java.lang.Object callbackInstance, + java.lang.String callback)</code> +<div class="block">Sets a callback instance and the name of the method used as the "init" callback.</div> +</td> +</tr> +<tr id="i21" class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#init-java.lang.String-">init</a></span>(java.lang.String callback)</code> +<div class="block">Sets the name of the method used as the "init" callback.</div> +</td> +</tr> +<tr id="i22" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#listener-ComponentStateListener-">listener</a></span>(ComponentStateListener listener)</code> +<div class="block">Adds a component state listener to this component.</div> +</td> +</tr> +<tr id="i23" class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#properties-java.util.Dictionary-">properties</a></span>(java.util.Dictionary<?,?> properties)</code> +<div class="block">Sets the component's service properties</div> +</td> +</tr> +<tr id="i24" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#properties-org.apache.felix.dm.lambda.FluentProperty...-">properties</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda">FluentProperty</a>... properties)</code> +<div class="block"><span class="deprecatedLabel">Deprecated.</span> +<div class="block"><span class="deprecationComment">Fluent properties are only supported using java8 and this method will be removed in next DM release</span></div> +</div> +</td> +</tr> +<tr id="i25" class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#properties-java.lang.String-java.lang.Object-java.lang.Object...-">properties</a></span>(java.lang.String name, + java.lang.Object value, + java.lang.Object... rest)</code> +<div class="block">Sets the components's service properties using varargs.</div> +</td> +</tr> +<tr id="i26" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.Class-">provides</a></span>(java.lang.Class<?> iface)</code> +<div class="block">Sets the public interface under which this component should be registered in the OSGi service registry.</div> +</td> +</tr> +<tr id="i27" class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.Class:A-">provides</a></span>(java.lang.Class<?>[] ifaces)</code> +<div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry.</div> +</td> +</tr> +<tr id="i28" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.Class:A-java.util.Dictionary-">provides</a></span>(java.lang.Class<?>[] ifaces, + java.util.Dictionary<?,?> properties)</code> +<div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry.</div> +</td> +</tr> +<tr id="i29" class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.Class:A-org.apache.felix.dm.lambda.FluentProperty...-">provides</a></span>(java.lang.Class<?>[] ifaces, + <a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda">FluentProperty</a>... properties)</code> +<div class="block"><span class="deprecatedLabel">Deprecated.</span> +<div class="block"><span class="deprecationComment">Fluent properties are only supported using java8 and this method will be removed in next DM release</span></div> +</div> +</td> +</tr> +<tr id="i30" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.Class:A-java.lang.String-java.lang.Object-java.lang.Object...-">provides</a></span>(java.lang.Class<?>[] ifaces, + java.lang.String name, + java.lang.Object value, + java.lang.Object... rest)</code> +<div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry.</div> +</td> +</tr> +<tr id="i31" class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.Class-java.util.Dictionary-">provides</a></span>(java.lang.Class<?> iface, + java.util.Dictionary<?,?> properties)</code> +<div class="block">Sets the public interface under which this component should be registered in the OSGi service registry.</div> +</td> +</tr> +<tr id="i32" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.Class-org.apache.felix.dm.lambda.FluentProperty...-">provides</a></span>(java.lang.Class<?> iface, + <a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda">FluentProperty</a>... properties)</code> +<div class="block"><span class="deprecatedLabel">Deprecated.</span> +<div class="block"><span class="deprecationComment">Fluent properties are only supported using java8 and this method will be removed in next DM release</span></div> +</div> +</td> +</tr> +<tr id="i33" class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.Class-java.lang.String-java.lang.Object-java.lang.Object...-">provides</a></span>(java.lang.Class<?> iface, + java.lang.String name, + java.lang.Object value, + java.lang.Object... rest)</code> +<div class="block">Sets the public interface under which this component should be registered in the OSGi service registry.</div> +</td> +</tr> +<tr id="i34" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.String-">provides</a></span>(java.lang.String iface)</code> +<div class="block">Sets the public interface under which this component should be registered in the OSGi service registry.</div> +</td> +</tr> +<tr id="i35" class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.String:A-">provides</a></span>(java.lang.String[] ifaces)</code> +<div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry.</div> +</td> +</tr> +<tr id="i36" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.String:A-java.util.Dictionary-">provides</a></span>(java.lang.String[] ifaces, + java.util.Dictionary<?,?> properties)</code> +<div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry.</div> +</td> +</tr> +<tr id="i37" class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.String:A-org.apache.felix.dm.lambda.FluentProperty...-">provides</a></span>(java.lang.String[] ifaces, + <a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda">FluentProperty</a>... properties)</code> +<div class="block"><span class="deprecatedLabel">Deprecated.</span> +<div class="block"><span class="deprecationComment">Fluent properties are only supported using java8 and this method will be removed in next DM release</span></div> +</div> +</td> +</tr> +<tr id="i38" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.String:A-java.lang.String-java.lang.Object-java.lang.Object...-">provides</a></span>(java.lang.String[] ifaces, + java.lang.String name, + java.lang.Object value, + java.lang.Object... rest)</code> +<div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry.</div> +</td> +</tr> +<tr id="i39" class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.String-java.util.Dictionary-">provides</a></span>(java.lang.String iface, + java.util.Dictionary<?,?> properties)</code> +<div class="block">Sets the public interface under which this component should be registered in the OSGi service registry.</div> +</td> +</tr> +<tr id="i40" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.String-org.apache.felix.dm.lambda.FluentProperty...-">provides</a></span>(java.lang.String iface, + <a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda">FluentProperty</a>... properties)</code> +<div class="block"><span class="deprecatedLabel">Deprecated.</span> +<div class="block"><span class="deprecationComment">Fluent properties are only supported using java8 and this method will be removed in next DM release</span></div> +</div> +</td> +</tr> +<tr id="i41" class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.String-java.lang.String-java.lang.Object-java.lang.Object...-">provides</a></span>(java.lang.String iface, + java.lang.String name, + java.lang.Object value, + java.lang.Object... rest)</code> +<div class="block">Sets the public interface under which this component should be registered in the OSGi service registry.</div> +</td> +</tr> +<tr id="i42" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#scope-ServiceScope-">scope</a></span>(ServiceScope scope)</code> +<div class="block">Configures the component scope.</div> +</td> +</tr> +<tr id="i43" class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#start-org.apache.felix.dm.lambda.callbacks.InstanceCb-">start</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCb.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCb</a> callback)</code> +<div class="block">Sets an Object instance method reference used as the "start" callback.</div> +</td> +</tr> +<tr id="i44" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#start-org.apache.felix.dm.lambda.callbacks.InstanceCbComponent-">start</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbComponent</a> callback)</code> +<div class="block">Sets an Object instance method reference used as the "start" callback.</div> +</td> +</tr> +<tr id="i45" class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#start-java.lang.Object-java.lang.String-">start</a></span>(java.lang.Object callbackInstance, + java.lang.String callback)</code> +<div class="block">Sets the name of the method used as the "start" callback.</div> +</td> +</tr> +<tr id="i46" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#start-java.lang.String-">start</a></span>(java.lang.String callback)</code> +<div class="block">Sets a callback instance and the name of the method used as the "start" callback.</div> +</td> +</tr> +<tr id="i47" class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#stop-org.apache.felix.dm.lambda.callbacks.InstanceCb-">stop</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCb.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCb</a> callback)</code> +<div class="block">Sets an Object instance method reference used as the "stop" callback.</div> +</td> +</tr> +<tr id="i48" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#stop-org.apache.felix.dm.lambda.callbacks.InstanceCbComponent-">stop</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbComponent</a> callback)</code> +<div class="block">Sets an Object instance method reference used as the "stop" callback.</div> +</td> +</tr> +<tr id="i49" class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#stop-java.lang.Object-java.lang.String-">stop</a></span>(java.lang.Object callbackInstance, + java.lang.String callback)</code> +<div class="block">Sets a callback instance and the name of the method used as the "stop" callback.</div> +</td> +</tr> +<tr id="i50" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#stop-java.lang.String-">stop</a></span>(java.lang.String callback)</code> +<div class="block">Sets the name of the method used as the "stop" callback.</div> +</td> +</tr> +<tr id="i51" class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withBundle-java.util.function.Consumer-">withBundle</a></span>(java.util.function.Consumer<<a href="../../../../../org/apache/felix/dm/lambda/BundleDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">BundleDependencyBuilder</a>> consumer)</code> +<div class="block">Adds a bundle dependency.</div> +</td> +</tr> +<tr id="i52" class="altColor"> +<td class="colFirst"><code>default <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withCnf-java.lang.Class-">withCnf</a></span>(java.lang.Class<?> configType)</code> +<div class="block">Adds a configuration dependency using a configuration type.</div> +</td> +</tr> +<tr id="i53" class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withCnf-java.util.function.Consumer-">withCnf</a></span>(java.util.function.Consumer<<a href="../../../../../org/apache/felix/dm/lambda/ConfigurationDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">ConfigurationDependencyBuilder</a>> consumer)</code> +<div class="block">Adds a configuration dependency.</div> +</td> +</tr> +<tr id="i54" class="altColor"> +<td class="colFirst"><code>default <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withCnf-java.lang.String...-">withCnf</a></span>(java.lang.String... pids)</code> +<div class="block">Adds multiple configuration dependencies in one single call.</div> +</td> +</tr> +<tr id="i55" class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withDep-Dependency-">withDep</a></span>(Dependency dependency)</code> +<div class="block">Adds a generic Dependency Manager dependency.</div> +</td> +</tr> +<tr id="i56" class="altColor"> +<td class="colFirst"><code><U> <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withFuture-java.util.concurrent.CompletableFuture-java.util.function.Consumer-">withFuture</a></span>(java.util.concurrent.CompletableFuture<U> future, + java.util.function.Consumer<<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">FutureDependencyBuilder</a><U>> consumer)</code> +<div class="block">Adds a CompletableFuture dependency.</div> +</td> +</tr> +<tr id="i57" class="rowColor"> +<td class="colFirst"><code>default <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withSvc-boolean-java.lang.Class...-">withSvc</a></span>(boolean required, + java.lang.Class<?>... services)</code> +<div class="block">Adds in one shot multiple service dependencies injected in compatible class fields.</div> +</td> +</tr> +<tr id="i58" class="altColor"> +<td class="colFirst"><code>default <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withSvc-java.lang.Class...-">withSvc</a></span>(java.lang.Class<?>... services)</code> +<div class="block">Adds in one shot multiple service dependencies injected in compatible class fields.</div> +</td> +</tr> +<tr id="i59" class="rowColor"> +<td class="colFirst"><code>default <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withSvc-java.lang.Class-boolean-">withSvc</a></span>(java.lang.Class<?> service, + boolean required)</code> +<div class="block">Adds a service dependency injected in compatible class fields.</div> +</td> +</tr> +<tr id="i60" class="altColor"> +<td class="colFirst"><code>default <T> <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withSvc-java.lang.Class-java.lang.String-boolean-">withSvc</a></span>(java.lang.Class<T> service, + java.lang.String filter, + boolean required)</code> +<div class="block">Adds a service dependency injected in compatible class fields.</div> +</td> +</tr> +<tr id="i61" class="rowColor"> +<td class="colFirst"><code>default <T> <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withSvc-java.lang.Class-java.lang.String-java.lang.String-boolean-">withSvc</a></span>(java.lang.Class<T> service, + java.lang.String filter, + java.lang.String field, + boolean required)</code> +<div class="block">Adds a service dependency injected in a given compatible class field.</div> +</td> +</tr> +<tr id="i62" class="altColor"> +<td class="colFirst"><code><U> <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withSvc-java.lang.Class-java.util.function.Consumer-">withSvc</a></span>(java.lang.Class<U> service, + java.util.function.Consumer<<a href="../../../../../org/apache/felix/dm/lambda/ServiceDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">ServiceDependencyBuilder</a><U>> consumer)</code> +<div class="block">Adds a service dependency built using a Consumer lambda that is provided with a ServiceDependencyBuilder.</div> +</td> +</tr> +</table> +</li> +</ul> +</li> +</ul> +</div> +<div class="details"> +<ul class="blockList"> +<li class="blockList"> +<!-- ============ METHOD DETAIL ========== --> +<ul class="blockList"> +<li class="blockList"><a name="method.detail"> +<!-- --> +</a> +<h3>Method Detail</h3> +<a name="scope-ServiceScope-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>scope</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> scope(ServiceScope scope)</pre> +<div class="block">Configures the component scope.</div> +</li> +</ul> +<a name="impl-java.lang.Object-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>impl</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> impl(java.lang.Object impl)</pre> +<div class="block">Configures the component implementation. Can be a class name, or a component implementation object.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>impl</code> - the component implementation (a class, or an Object).</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder</dd> +</dl> +</li> +</ul> +<a name="factory-java.lang.Object-java.lang.String-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>factory</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> factory(java.lang.Object factory, + java.lang.String createMethod)</pre> +<div class="block">Sets the factory to use when creating the implementation. You can specify both the factory class and method to invoke. The method should return the implementation, + and can use any method to create it. Actually, this can be used together with setComposition to create a composition of instances that work together to implement + a component. The factory itself can also be instantiated lazily by not specifying an instance, but a Class.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>factory</code> - the factory instance, or the factory class.</dd> +<dd><code>createMethod</code> - the create method called on the factory in order to instantiate the component.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder</dd> +</dl> +</li> +</ul> +<a name="factory-java.util.function.Supplier-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>factory</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> factory(java.util.function.Supplier<?> create)</pre> +<div class="block">Configures a factory that can be used to create this component implementation. + Example: + + <pre> <code> + factory(ComponentImpl::new)", or "factory(() -> new ComponentImpl()) + </code></pre></div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>create</code> - the factory used to create the component implementation.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder</dd> +</dl> +</li> +</ul> +<a name="factory-java.util.function.Supplier-java.util.function.Function-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>factory</h4> +<pre><U,V> <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> factory(java.util.function.Supplier<U> factory, + java.util.function.Function<U,V> create)</pre> +<div class="block">Configures a factory used to create this component implementation using a Factory object and a method in the Factory object. + Example: + + <pre> <code> + factory(Factory::new, Factory::create) + </code></pre></div> +<dl> +<dt><span class="paramLabel">Type Parameters:</span></dt> +<dd><code>U</code> - the type of the factory returned by the supplier</dd> +<dd><code>V</code> - the type of the object that is returned by the factory create method.</dd> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>factory</code> - the function used to create the Factory itself</dd> +<dd><code>create</code> - the method reference on the Factory method that is used to create the Component implementation</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder</dd> +</dl> +</li> +</ul> +<a name="factory-java.util.function.Supplier-java.util.function.Supplier-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>factory</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> factory(java.util.function.Supplier<?> factory, + java.util.function.Supplier<java.lang.Object[]> getComposition)</pre> +<div class="block">Configures a factory used to create this component implementation using a Factory object and a "getComposition" factory method. + the Factory method may then return multiple objects that will be part of this component implementation, and + all of them will be searched when injecting any of the dependencies. + + Example: + + <pre> <code> + CompositionManager mngr = new CompositionManager(); + ... + factory(mngr::create, mngr::getComposition) + </code></pre></div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>factory</code> - the supplier used to return the main component implementation instance</dd> +<dd><code>getComposition</code> - the supplier that returns the list of instances that are part of the component implementation classes.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder</dd> +</dl> +</li> +</ul> +<a name="factory-java.util.function.Supplier-java.util.function.Function-java.util.function.Function-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>factory</h4> +<pre><U> <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> factory(java.util.function.Supplier<U> factory, + java.util.function.Function<U,?> create, + java.util.function.Function<U,java.lang.Object[]> getComposition)</pre> +<div class="block">Configures a factory that also returns a composition of objects for this component implemenation. + + Example: + + <pre> <code> + factory(CompositionManager::new, CompositionManager::create, CompositionManager::getComposition). + </code></pre> + + Here, the CompositionManager will act as a factory (the create method will return the component implementation object), the + CompositionManager.getComposition() method will return all the objects that are also part of the component implementation, + and all of them will be searched for injecting any of the dependencies.</div> +<dl> +<dt><span class="paramLabel">Type Parameters:</span></dt> +<dd><code>U</code> - the type of the object returned by the supplier factory</dd> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>factory</code> - the function used to create the Factory itself</dd> +<dd><code>create</code> - the Factory method used to create the main component implementation object</dd> +<dd><code>getComposition</code> - the Factory method used to return the list of objects that are also part of the component implementation.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder</dd> +</dl> +</li> +</ul> +<a name="provides-java.lang.Class-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>provides</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> provides(java.lang.Class<?> iface)</pre> +<div class="block">Sets the public interface under which this component should be registered in the OSGi service registry.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>iface</code> - the public interface to register in the OSGI service registry.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder</dd> +</dl> +</li> +</ul> +<a name="provides-java.lang.Class-java.lang.String-java.lang.Object-java.lang.Object...-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>provides</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> provides(java.lang.Class<?> iface, + java.lang.String name, + java.lang.Object value, + java.lang.Object... rest)</pre> +<div class="block">Sets the public interface under which this component should be registered in the OSGi service registry.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>iface</code> - the public interface to register in the OSGI service registry.</dd> +<dd><code>name</code> - a property name for the provided service</dd> +<dd><code>value</code> - a property value for the provided service</dd> +<dd><code>rest</code> - the rest of property name/value pairs.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder.</dd> +</dl> +</li> +</ul> +<a name="provides-java.lang.Class-org.apache.felix.dm.lambda.FluentProperty...-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>provides</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> provides(java.lang.Class<?> iface, + <a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda">FluentProperty</a>... properties)</pre> +<div class="block"><span class="deprecatedLabel">Deprecated.</span> <span class="deprecationComment">Fluent properties are only supported using java8 and this method will be removed in next DM release</span></div> +<div class="block">Sets the public interface under which this component should be registered in the OSGi service registry. + Warning: you can only use this method if you compile your application using the "-parameters" javac option. + + code example: + + <pre> <code> + provides(MyService.class, property1 -> "value1", property2 -> 123); + </code></pre></div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>iface</code> - the public interface to register in the OSGI service registry.</dd> +<dd><code>properties</code> - a list of fluent service properties for the provided service. You can specify a list of lambda expression, each one implementing the + <a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda"><code>FluentProperty</code></a> interface that allows to define a property name using a lambda parameter.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder.</dd> +</dl> +</li> +</ul> +<a name="provides-java.lang.Class-java.util.Dictionary-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>provides</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> provides(java.lang.Class<?> iface, + java.util.Dictionary<?,?> properties)</pre> +<div class="block">Sets the public interface under which this component should be registered in the OSGi service registry.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>iface</code> - the public interface to register in the OSGI service registry.</dd> +<dd><code>properties</code> - the properties for the provided service</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder.</dd> +</dl> +</li> +</ul> +<a name="provides-java.lang.Class:A-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>provides</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> provides(java.lang.Class<?>[] ifaces)</pre> +<div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>ifaces</code> - list of services provided by the component.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder.</dd> +</dl> +</li> +</ul> +<a name="provides-java.lang.Class:A-java.lang.String-java.lang.Object-java.lang.Object...-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>provides</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> provides(java.lang.Class<?>[] ifaces, + java.lang.String name, + java.lang.Object value, + java.lang.Object... rest)</pre> +<div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>ifaces</code> - the public interfaces to register in the OSGI service registry.</dd> +<dd><code>name</code> - a property name for the provided service</dd> +<dd><code>value</code> - a property value for the provided service</dd> +<dd><code>rest</code> - the rest of property name/value pairs.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder.</dd> +</dl> +</li> +</ul> +<a name="provides-java.lang.Class:A-org.apache.felix.dm.lambda.FluentProperty...-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>provides</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> provides(java.lang.Class<?>[] ifaces, + <a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda">FluentProperty</a>... properties)</pre> +<div class="block"><span class="deprecatedLabel">Deprecated.</span> <span class="deprecationComment">Fluent properties are only supported using java8 and this method will be removed in next DM release</span></div> +<div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry. + Warning: you can only use this method if you compile your application using the "-parameters" javac option. + code example: + + <pre> <code> + provides(new Class[] { MyService.class, MyService2.class }, property1 -> "value1", property2 -> 123); + </code></pre></div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>ifaces</code> - the public interfaces to register in the OSGI service registry.</dd> +<dd><code>properties</code> - a list of fluent service properties for the provided service. You can specify a list of lambda expression, each one implementing the + <a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda"><code>FluentProperty</code></a> interface that allows to define a property name using a lambda parameter.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder.</dd> +</dl> +</li> +</ul> +<a name="provides-java.lang.Class:A-java.util.Dictionary-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>provides</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> provides(java.lang.Class<?>[] ifaces, + java.util.Dictionary<?,?> properties)</pre> +<div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>ifaces</code> - the public interfaces to register in the OSGI service registry.</dd> +<dd><code>properties</code> - the properties for the provided service</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder.</dd> +</dl> +</li> +</ul> +<a name="provides-java.lang.String-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>provides</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> provides(java.lang.String iface)</pre> +<div class="block">Sets the public interface under which this component should be registered in the OSGi service registry.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>iface</code> - the service provided by this component.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder.</dd> +</dl> +</li> +</ul> +<a name="provides-java.lang.String-java.lang.String-java.lang.Object-java.lang.Object...-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>provides</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> provides(java.lang.String iface, + java.lang.String name, + java.lang.Object value, + java.lang.Object... rest)</pre> +<div class="block">Sets the public interface under which this component should be registered in the OSGi service registry.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>iface</code> - the public interface to register in the OSGI service registry.</dd> +<dd><code>name</code> - a property name for the provided service</dd> +<dd><code>value</code> - a property value for the provided service</dd> +<dd><code>rest</code> - the rest of property name/value pairs.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder.</dd> +</dl> +</li> +</ul> +<a name="provides-java.lang.String-org.apache.felix.dm.lambda.FluentProperty...-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>provides</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> provides(java.lang.String iface, + <a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda">FluentProperty</a>... properties)</pre> +<div class="block"><span class="deprecatedLabel">Deprecated.</span> <span class="deprecationComment">Fluent properties are only supported using java8 and this method will be removed in next DM release</span></div> +<div class="block">Sets the public interface under which this component should be registered in the OSGi service registry. + Warning: you can only use this method if you compile your application using the "-parameters" javac option. + code example: + + <pre> <code> + provides(MyService.class, property1 -> "value1", property2 -> 123); + </code></pre></div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>iface</code> - the public interface to register in the OSGI service registry.</dd> +<dd><code>properties</code> - a list of fluent service properties for the provided service. You can specify a list of lambda expression, each one implementing the + <a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda"><code>FluentProperty</code></a> interface that allows to define a property name using a lambda parameter.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder.</dd> +</dl> +</li> +</ul> +<a name="provides-java.lang.String-java.util.Dictionary-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>provides</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> provides(java.lang.String iface, + java.util.Dictionary<?,?> properties)</pre> +<div class="block">Sets the public interface under which this component should be registered in the OSGi service registry.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>iface</code> - the public interface to register in the OSGI service registry.</dd> +<dd><code>properties</code> - the properties for the provided service</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder.</dd> +</dl> +</li> +</ul> +<a name="provides-java.lang.String:A-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>provides</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> provides(java.lang.String[] ifaces)</pre> +<div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>ifaces</code> - the list of services provided by the component.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder.</dd> +</dl> +</li> +</ul> +<a name="provides-java.lang.String:A-java.lang.String-java.lang.Object-java.lang.Object...-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>provides</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> provides(java.lang.String[] ifaces, + java.lang.String name, + java.lang.Object value, + java.lang.Object... rest)</pre> +<div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>ifaces</code> - the public interfaces to register in the OSGI service registry.</dd> +<dd><code>name</code> - a property name for the provided service</dd> +<dd><code>value</code> - a property value for the provided service</dd> +<dd><code>rest</code> - the rest of property name/value pairs.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder.</dd> +</dl> +</li> +</ul> +<a name="provides-java.lang.String:A-org.apache.felix.dm.lambda.FluentProperty...-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>provides</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> provides(java.lang.String[] ifaces, + <a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda">FluentProperty</a>... properties)</pre> +<div class="block"><span class="deprecatedLabel">Deprecated.</span> <span class="deprecationComment">Fluent properties are only supported using java8 and this method will be removed in next DM release</span></div> +<div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry. + Warning: you can only use this method if you compile your application using the "-parameters" javac option. + + code example: + <pre> <code> + provides(new Class[] { MyService.class, MyService2.class }, property1 -> "value1", property2 -> 123); + </code></pre></div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>ifaces</code> - the public interfaces to register in the OSGI service registry.</dd> +<dd><code>properties</code> - a list of fluent service properties for the provided service. You can specify a list of lambda expression, each one implementing the + <a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda"><code>FluentProperty</code></a> interface that allows to define a property name using a lambda parameter.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder.</dd> +</dl> +</li> +</ul> +<a name="provides-java.lang.String:A-java.util.Dictionary-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>provides</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> provides(java.lang.String[] ifaces, + java.util.Dictionary<?,?> properties)</pre> +<div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>ifaces</code> - the public interfaces to register in the OSGI service registry.</dd> +<dd><code>properties</code> - the properties for the provided service</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder.</dd> +</dl> +</li> +</ul> +<a name="properties-java.util.Dictionary-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>properties</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> properties(java.util.Dictionary<?,?> properties)</pre> +<div class="block">Sets the component's service properties</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>properties</code> - the component's service properties</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder</dd> +</dl> +</li> +</ul> +<a name="properties-java.lang.String-java.lang.Object-java.lang.Object...-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>properties</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> properties(java.lang.String name, + java.lang.Object value, + java.lang.Object... rest)</pre> +<div class="block">Sets the components's service properties using varargs. The number of parameters must be even, representing a list of pair property key-value. + + <pre> <code> + Example: properties("param1", "value1", "service.ranking", 3) + </code></pre></div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>name</code> - the first property name</dd> +<dd><code>value</code> - the first property value</dd> +<dd><code>rest</code> - the rest of properties key/value pairs.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder</dd> +</dl> +</li> +</ul> +<a name="properties-org.apache.felix.dm.lambda.FluentProperty...-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>properties</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> properties(<a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda">FluentProperty</a>... properties)</pre> +<div class="block"><span class="deprecatedLabel">Deprecated.</span> <span class="deprecationComment">Fluent properties are only supported using java8 and this method will be removed in next DM release</span></div> +<div class="block">Sets the components's service properties using List of lamda properties. + + Example: + + <pre> <code> + properties(param1 -> "value1, param2 -> 2); + </code></pre> + + When you use this method, you must compile your source code using the "-parameters" option, and the "arg0" parameter + name is now allowed.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>properties</code> - the fluent properties</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder</dd> +</dl> +</li> +</ul> +<a name="withSvc-java.lang.Class-java.util.function.Consumer-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>withSvc</h4> +<pre><U> <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> withSvc(java.lang.Class<U> service, + java.util.function.Consumer<<a href="../../../../../org/apache/felix/dm/lambda/ServiceDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">ServiceDependencyBuilder</a><U>> consumer)</pre> +<div class="block">Adds a service dependency built using a Consumer lambda that is provided with a ServiceDependencyBuilder.</div> +<dl> +<dt><span class="paramLabel">Type Parameters:</span></dt> +<dd><code>U</code> - the type of the dependency service</dd> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>service</code> - the service</dd> +<dd><code>consumer</code> - the lambda used to build the service dependency</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder.</dd> +</dl> +</li> +</ul> +<a name="withSvc-java.lang.Class...-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>withSvc</h4> +<pre>default <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> withSvc(java.lang.Class<?>... services)</pre> +<div class="block">Adds in one shot multiple service dependencies injected in compatible class fields.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>services</code> - some dependencies to inject in compatible class fields.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder</dd> +</dl> +</li> +</ul> +<a name="withSvc-boolean-java.lang.Class...-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>withSvc</h4> +<pre>default <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> withSvc(boolean required, + java.lang.Class<?>... services)</pre> +<div class="block">Adds in one shot multiple service dependencies injected in compatible class fields.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>required</code> - true if the dependency is required, false if not</dd> +<dd><code>services</code> - some dependencies to inject in compatible class fields.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder</dd> +</dl> +</li> +</ul> +<a name="withSvc-java.lang.Class-boolean-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>withSvc</h4> +<pre>default <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> withSvc(java.lang.Class<?> service, + boolean required)</pre> +<div class="block">Adds a service dependency injected in compatible class fields.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>service</code> - a service dependency</dd> +<dd><code>required</code> - true if the dependency is required, false if not</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder</dd> +</dl> +</li> +</ul> +<a name="withSvc-java.lang.Class-java.lang.String-boolean-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>withSvc</h4> +<pre>default <T> <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> withSvc(java.lang.Class<T> service, + java.lang.String filter, + boolean required)</pre> +<div class="block">Adds a service dependency injected in compatible class fields.</div> +<dl> +<dt><span class="paramLabel">Type Parameters:</span></dt> +<dd><code>T</code> - the service dependency type</dd> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>service</code> - the service dependency.</dd> +<dd><code>filter</code> - the service filter</dd> +<dd><code>required</code> - true if the dependency is required, false if not</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder</dd> +</dl> +</li> +</ul> +<a name="withSvc-java.lang.Class-java.lang.String-java.lang.String-boolean-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>withSvc</h4> +<pre>default <T> <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> withSvc(java.lang.Class<T> service, + java.lang.String filter, + java.lang.String field, + boolean required)</pre> +<div class="block">Adds a service dependency injected in a given compatible class field.</div> +<dl> +<dt><span class="paramLabel">Type Parameters:</span></dt> +<dd><code>T</code> - the service dependency type</dd> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>service</code> - the service dependency</dd> +<dd><code>filter</code> - the service filter</dd> +<dd><code>field</code> - the class field when the dependency has to be injected</dd> +<dd><code>required</code> - true if the dependency is required, false if not</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder</dd> +</dl> +</li> +</ul> +<a name="withCnf-java.util.function.Consumer-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>withCnf</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> withCnf(java.util.function.Consumer<<a href="../../../../../org/apache/felix/dm/lambda/ConfigurationDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">ConfigurationDependencyBuilder</a>> consumer)</pre> +<div class="block">Adds a configuration dependency.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>consumer</code> - the lambda used to build the configuration dependency.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder.</dd> +</dl> +</li> +</ul> +<a name="withCnf-java.lang.String...-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>withCnf</h4> +<pre>default <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> withCnf(java.lang.String... pids)</pre> +<div class="block">Adds multiple configuration dependencies in one single call. All configurations are injected by default in the "updated" callback.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>pids</code> - list of configuration pids.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder</dd> +</dl> +</li> +</ul> +<a name="withCnf-java.lang.Class-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>withCnf</h4> +<pre>default <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> withCnf(java.lang.Class<?> configType)</pre> +<div class="block">Adds a configuration dependency using a configuration type. The configuration is injected in an updated callback which takes in argument + an implementation of the specified configuration type.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>configType</code> - the configuration type that will be injected to the "updated" callback</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder</dd> +<dt><span class="seeLabel">See Also:</span></dt> +<dd><a href="../../../../../org/apache/felix/dm/lambda/ConfigurationDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda"><code>ConfigurationDependencyBuilder</code></a></dd> +</dl> +</li> +</ul> +<a name="withBundle-java.util.function.Consumer-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>withBundle</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> withBundle(java.util.function.Consumer<<a href="../../../../../org/apache/felix/dm/lambda/BundleDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">BundleDependencyBuilder</a>> consumer)</pre> +<div class="block">Adds a bundle dependency.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>consumer</code> - the lambda used to build the bundle dependency.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder.</dd> +</dl> +</li> +</ul> +<a name="withFuture-java.util.concurrent.CompletableFuture-java.util.function.Consumer-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>withFuture</h4> +<pre><U> <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> withFuture(java.util.concurrent.CompletableFuture<U> future, + java.util.function.Consumer<<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">FutureDependencyBuilder</a><U>> consumer)</pre> +<div class="block">Adds a CompletableFuture dependency.</div> +<dl> +<dt><span class="paramLabel">Type Parameters:</span></dt> +<dd><code>U</code> - the type of the result of the CompletableFuture.</dd> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>future</code> - a CompletableFuture on which the dependency will wait for</dd> +<dd><code>consumer</code> - the builder used to build the dependency</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder.</dd> +</dl> +</li> +</ul> +<a name="withDep-Dependency-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>withDep</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> withDep(Dependency dependency)</pre> +<div class="block">Adds a generic Dependency Manager dependency. You can use this method if you want to add a dependency + that you have built using the Dependency Manager API, or a specific custom DM dependency (like toggles, etc ...).</div> +</li> +</ul> +<a name="init-java.lang.String-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>init</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> init(java.lang.String callback)</pre> +<div class="block">Sets the name of the method used as the "init" callback. This method, when found, is + invoked as part of the life cycle management of the component implementation. + This method is useful because when it is invoked, all required dependencies defines in the Activator + are already injected, and you can then add more extra dependencies from the init() method. + And once all extra dependencies will be available and injected, then the "start" callback will be invoked. + <p>The dependency manager will look for a method of this name with the following signatures, + in this order: + <ol> + <li>method(Component component)</li> + <li>method()</li> + </ol></div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>callback</code> - the callback name</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder.</dd> +</dl> +</li> +</ul> +<a name="init-java.lang.Object-java.lang.String-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>init</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> init(java.lang.Object callbackInstance, + java.lang.String callback)</pre> +<div class="block">Sets a callback instance and the name of the method used as the "init" callback. This method, when found, is + invoked as part of the life cycle management of the component implementation. + This method is useful because when it is invoked, all required dependencies defines in the Activator + are already injected, and you can then add more extra dependencies from the init() method. + And once all extra dependencies will be available and injected, then the "start" callback will be invoked. + <p>The dependency manager will look for a method of this name with the following signatures, + in this order: + <ol> + <li>method(Component component)</li> + <li>method()</li> + </ol></div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>callbackInstance</code> - a callback instance object the callback is invoked on</dd> +<dd><code>callback</code> - the callback name</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder.</dd> +</dl> +</li> +</ul> +<a name="init-org.apache.felix.dm.lambda.callbacks.InstanceCb-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>init</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> init(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCb.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCb</a> callback)</pre> +<div class="block">Sets an Object instance method reference used as the "init" callback. It is invoked as part of the life cycle management of the component + implementation. + This method is useful because when it is invoked, all required dependencies defines in the Activator + are already injected, and you can then add more extra dependencies from the init() method.
[... 515 lines stripped ...]
