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 2018/10/22 16:55:41 UTC

svn commit: r1844576 [4/5] - in /felix/site/trunk/content/apidocs/dependencymanager.annotations/r13: ./ org/ org/apache/ org/apache/felix/ org/apache/felix/dm/ org/apache/felix/dm/annotation/ org/apache/felix/dm/annotation/api/

Added: felix/site/trunk/content/apidocs/dependencymanager.annotations/r13/org/apache/felix/dm/annotation/api/PropertyType.html
URL: http://svn.apache.org/viewvc/felix/site/trunk/content/apidocs/dependencymanager.annotations/r13/org/apache/felix/dm/annotation/api/PropertyType.html?rev=1844576&view=auto
==============================================================================
--- felix/site/trunk/content/apidocs/dependencymanager.annotations/r13/org/apache/felix/dm/annotation/api/PropertyType.html (added)
+++ felix/site/trunk/content/apidocs/dependencymanager.annotations/r13/org/apache/felix/dm/annotation/api/PropertyType.html Mon Oct 22 16:55:40 2018
@@ -0,0 +1,277 @@
+<!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:37:56 CEST 2018 -->
+<title>PropertyType</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="PropertyType";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</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="../../../../../../org/apache/felix/dm/annotation/api/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/annotation/api/Property.html" title="annotation in org.apache.felix.dm.annotation.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/felix/dm/annotation/api/Registered.html" title="annotation in org.apache.felix.dm.annotation.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/felix/dm/annotation/api/PropertyType.html" target="_top">Frames</a></li>
+<li><a href="PropertyType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;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:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Required&nbsp;|&nbsp;</li>
+<li>Optional</li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Element</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.annotation.api</div>
+<h2 title="Annotation Type PropertyType" class="title">Annotation Type PropertyType</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@Retention(value=CLASS)
+ @Target(value=ANNOTATION_TYPE)
+public @interface <span class="memberNameLabel">PropertyType</span></pre>
+<div class="block">When defining component service properties, one way to achieve this is to apply the <a href="../../../../../../org/apache/felix/dm/annotation/api/Property.html" title="annotation in org.apache.felix.dm.annotation.api"><code>Property</code></a> annotation on your component class name.
+ Now, you can also define your own component property type interfaces and apply them directly on your components (instead of the 
+ <a href="../../../../../../org/apache/felix/dm/annotation/api/Property.html" title="annotation in org.apache.felix.dm.annotation.api"><code>Property</code></a> annotation). The PropertyType annotation is closely similar to standard OSGi r7 declarative service @ComponentPropertyType 
+ (which is also supported by dependency manager annotations).
+ 
+ <h3>Usage Examples</h3>
+ 
+ Let’s assume your write an OSGi r7 jax rs servlet context which needs the two following service properties: 
+ 
+ <p><ul>
+ <li> osgi.http.whiteboard.context.name
+ <li> osgi.http.whiteboard.context.path
+ </ul>
+ 
+ <p> Then you can first define your own annotation (but you could also reuse the default annotations provided by the jaxrs whiteboard r7 api):
+ (notice that in the annotation, you can define default service property values):
+ 
+ <blockquote>
+ <pre>
+ &#64;PropertyType
+ &#64;interface ServletContext {
+     String osgi_http_whiteboard_context_name() default AppServletContext.NAME;
+     String osgi_http_whiteboard_context_path();
+ }
+ </pre>
+ </blockquote>
+ 
+ In the above, the underscore is mapped to ".".
+ Then you can apply the above annotation on top of your component like this:
+ 
+ <blockquote>
+ <pre>
+ &#64;Component
+ &#64;ServletContext(osgi_http_whiteboard_context_path="/game")
+ public class AppServletContext extends ServletContextHelper {
+ }
+ </pre>
+ </blockquote>
+ 
+ You can also use configuration admin service in order to override the default service properties:
+ 
+ <blockquote>
+ <pre>
+ &#64;Component
+ &#64;ServletContext(osgi_http_whiteboard_context_path="/game")
+ public class AppServletContext extends ServletContextHelper {
+     &#64;ConfigurationDependency(propagate=true, pid="my.pid")
+     void updated(ServletContext cnf) {
+        // if some properties are not present in the configuration, then the ones used in the annotation will be used.
+        // The configuration admin properties, if defined, will override the default configurations defined in the annotations
+     }
+ }
+ </pre>
+ </blockquote>
+ 
+ You can also define multiple property type annotations, and possibly single valued annotation. In this case, you can use
+ the standard R7 PREFIX_ constants in order to specify the property prefix, and the property name will be derived from the
+ single valued annotation (using camel case convention):
+ 
+ <blockquote>
+ <pre>
+ &#64;PropertyType
+ &#64;interface ContextName { // will map to "osgi.http.whiteboard.context.name" property name
+     String PREFIX="osgi.http.whiteboard.";
+     String value();
+ }
+ 
+ &#64;PropertyType
+ &#64;interface ContextPath { // will map to "osgi.http.whiteboard.context.path" property name
+     String PREFIX="osgi.http.whiteboard.";
+     String value();
+ }
+ 
+ &#64;Component
+ &#64;ContextName(AppServletContext.NAME)
+ &#64;ContextPath("/game")
+ public class AppServletContext extends ServletContextHelper {
+ }
+ </pre>
+ </blockquote>
+ 
+ Same example as above, but also using configuration admin service in order to override default service properties: Here, as in OSGi r7 declarative service,
+ you can define a callback method which accepts as arguments all (or some of) the defined property types:
+ 
+ <blockquote>
+ <pre>
+ &#64;Component
+ &#64;ContextName(AppServletContext.NAME)
+ &#64;ContextPath("/game")
+ public class AppServletContext extends ServletContextHelper {
+     &#64;ConfigurationDependency(propagate=true, pid="my.pid")
+     void updated(ContextName ctxName, ContextPath ctxPath) {
+        // if some properties are not present in the configuration, then the ones used in the annotation will be used.
+        // The configuration admin properties, if defined, will override the default configurations defined in the annotations
+     }
+ }
+ </pre>
+ </blockquote>
+ 
+ The following is the same example as above, but this time the configuration callback can also define a Dictionary in the first argument
+ (in case you want to also get the raw configuration dictionary:
+ 
+ <blockquote>
+ <pre>
+ &#64;Component
+ &#64;ContextName(AppServletContext.NAME)
+ &#64;ContextPath("/game")
+ public class AppServletContext extends ServletContextHelper {
+     &#64;ConfigurationDependency(propagate=true, pid="my.pid")
+     void updated(Dictionary&lt;String, Object&gt; rawConfig, ContextName ctxName) {
+        // if some properties are not present in the configuration, then the ones used in the annotation will be used.
+        // The configuration admin properties, if defined, will override the default configurations defined in the annotations
+     }
+ }
+ </pre>
+ </blockquote></div>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../org/apache/felix/dm/annotation/api/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/annotation/api/Property.html" title="annotation in org.apache.felix.dm.annotation.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/felix/dm/annotation/api/Registered.html" title="annotation in org.apache.felix.dm.annotation.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/felix/dm/annotation/api/PropertyType.html" target="_top">Frames</a></li>
+<li><a href="PropertyType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Required&nbsp;|&nbsp;</li>
+<li>Optional</li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Element</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>

Added: felix/site/trunk/content/apidocs/dependencymanager.annotations/r13/org/apache/felix/dm/annotation/api/Registered.html
URL: http://svn.apache.org/viewvc/felix/site/trunk/content/apidocs/dependencymanager.annotations/r13/org/apache/felix/dm/annotation/api/Registered.html?rev=1844576&view=auto
==============================================================================
--- felix/site/trunk/content/apidocs/dependencymanager.annotations/r13/org/apache/felix/dm/annotation/api/Registered.html (added)
+++ felix/site/trunk/content/apidocs/dependencymanager.annotations/r13/org/apache/felix/dm/annotation/api/Registered.html Mon Oct 22 16:55:40 2018
@@ -0,0 +1,184 @@
+<!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:37:56 CEST 2018 -->
+<title>Registered</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="Registered";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</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="../../../../../../org/apache/felix/dm/annotation/api/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/annotation/api/PropertyType.html" title="annotation in org.apache.felix.dm.annotation.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/felix/dm/annotation/api/RepeatableProperty.html" title="annotation in org.apache.felix.dm.annotation.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/felix/dm/annotation/api/Registered.html" target="_top">Frames</a></li>
+<li><a href="Registered.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;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:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Required&nbsp;|&nbsp;</li>
+<li>Optional</li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Element</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.annotation.api</div>
+<h2 title="Annotation Type Registered" class="title">Annotation Type Registered</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@Retention(value=CLASS)
+ @Target(value=METHOD)
+public @interface <span class="memberNameLabel">Registered</span></pre>
+<div class="block">This annotation can be used to be notified when a component is registered. At this point, the
+ component has been registered into the OSGI registry (if it provides some services).
+ When a service is registered, the ServiceRegistration used to register the service is
+ also passed to the method (if it takes a ServiceRegistration as parameter).
+ 
+ <h3>Usage Examples</h3>
+ <blockquote>
+ 
+ <pre>
+ &#64;Component
+ class X implements Z {
+     &#64;Start
+     void start() {
+         // Our Z Service is about to be registered into the OSGi registry. 
+     }
+     
+     &#64;Registered
+     void registered(ServiceRegistration sr) {
+        // At this point, our service has been registered into the registry.
+     }
+ }
+ </pre>
+ </blockquote></div>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../org/apache/felix/dm/annotation/api/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/annotation/api/PropertyType.html" title="annotation in org.apache.felix.dm.annotation.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/felix/dm/annotation/api/RepeatableProperty.html" title="annotation in org.apache.felix.dm.annotation.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/felix/dm/annotation/api/Registered.html" target="_top">Frames</a></li>
+<li><a href="Registered.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Required&nbsp;|&nbsp;</li>
+<li>Optional</li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Element</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>

Added: felix/site/trunk/content/apidocs/dependencymanager.annotations/r13/org/apache/felix/dm/annotation/api/RepeatableProperty.html
URL: http://svn.apache.org/viewvc/felix/site/trunk/content/apidocs/dependencymanager.annotations/r13/org/apache/felix/dm/annotation/api/RepeatableProperty.html?rev=1844576&view=auto
==============================================================================
--- felix/site/trunk/content/apidocs/dependencymanager.annotations/r13/org/apache/felix/dm/annotation/api/RepeatableProperty.html (added)
+++ felix/site/trunk/content/apidocs/dependencymanager.annotations/r13/org/apache/felix/dm/annotation/api/RepeatableProperty.html Mon Oct 22 16:55:40 2018
@@ -0,0 +1,218 @@
+<!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:37:56 CEST 2018 -->
+<title>RepeatableProperty</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="RepeatableProperty";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</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="../../../../../../org/apache/felix/dm/annotation/api/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/annotation/api/Registered.html" title="annotation in org.apache.felix.dm.annotation.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceDependency.html" title="annotation in org.apache.felix.dm.annotation.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/felix/dm/annotation/api/RepeatableProperty.html" target="_top">Frames</a></li>
+<li><a href="RepeatableProperty.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;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:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#annotation.type.required.element.summary">Required</a>&nbsp;|&nbsp;</li>
+<li>Optional</li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#annotation.type.element.detail">Element</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.annotation.api</div>
+<h2 title="Annotation Type RepeatableProperty" class="title">Annotation Type RepeatableProperty</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@Retention(value=CLASS)
+ @Target(value={TYPE,ANNOTATION_TYPE})
+public @interface <span class="memberNameLabel">RepeatableProperty</span></pre>
+<div class="block">Annotation used to describe repeated Property annotation. You actually don't have to use directly this annotation,
+ which is used to allow repeating several times the <a href="../../../../../../org/apache/felix/dm/annotation/api/Property.html" title="annotation in org.apache.felix.dm.annotation.api"><code>Property</code></a> annotation on a given component class.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ANNOTATION TYPE REQUIRED MEMBER SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="annotation.type.required.element.summary">
+<!--   -->
+</a>
+<h3>Required Element Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Required Element Summary table, listing required elements, and an explanation">
+<caption><span>Required Elements</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Required Element and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/felix/dm/annotation/api/Property.html" title="annotation in org.apache.felix.dm.annotation.api">Property</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/dm/annotation/api/RepeatableProperty.html#value--">value</a></span></code>
+<div class="block">Returns the set of repeated <a href="../../../../../../org/apache/felix/dm/annotation/api/Property.html" title="annotation in org.apache.felix.dm.annotation.api"><code>Property</code></a> applied on a given component class.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="annotation.type.element.detail">
+<!--   -->
+</a>
+<h3>Element Detail</h3>
+<a name="value--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>value</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/felix/dm/annotation/api/Property.html" title="annotation in org.apache.felix.dm.annotation.api">Property</a>[]&nbsp;value</pre>
+<div class="block">Returns the set of repeated <a href="../../../../../../org/apache/felix/dm/annotation/api/Property.html" title="annotation in org.apache.felix.dm.annotation.api"><code>Property</code></a> applied on a given component class.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the set of repeated <a href="../../../../../../org/apache/felix/dm/annotation/api/Property.html" title="annotation in org.apache.felix.dm.annotation.api"><code>Property</code></a> applied on a given component class.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../org/apache/felix/dm/annotation/api/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/annotation/api/Registered.html" title="annotation in org.apache.felix.dm.annotation.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceDependency.html" title="annotation in org.apache.felix.dm.annotation.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/felix/dm/annotation/api/RepeatableProperty.html" target="_top">Frames</a></li>
+<li><a href="RepeatableProperty.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#annotation.type.required.element.summary">Required</a>&nbsp;|&nbsp;</li>
+<li>Optional</li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#annotation.type.element.detail">Element</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>

Added: felix/site/trunk/content/apidocs/dependencymanager.annotations/r13/org/apache/felix/dm/annotation/api/ServiceDependency.Any.html
URL: http://svn.apache.org/viewvc/felix/site/trunk/content/apidocs/dependencymanager.annotations/r13/org/apache/felix/dm/annotation/api/ServiceDependency.Any.html?rev=1844576&view=auto
==============================================================================
--- felix/site/trunk/content/apidocs/dependencymanager.annotations/r13/org/apache/felix/dm/annotation/api/ServiceDependency.Any.html (added)
+++ felix/site/trunk/content/apidocs/dependencymanager.annotations/r13/org/apache/felix/dm/annotation/api/ServiceDependency.Any.html Mon Oct 22 16:55:40 2018
@@ -0,0 +1,169 @@
+<!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:37:56 CEST 2018 -->
+<title>ServiceDependency.Any</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="ServiceDependency.Any";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</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="../../../../../../org/apache/felix/dm/annotation/api/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/annotation/api/ServiceDependency.html" title="annotation in org.apache.felix.dm.annotation.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceScope.html" title="enum in org.apache.felix.dm.annotation.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/felix/dm/annotation/api/ServiceDependency.Any.html" target="_top">Frames</a></li>
+<li><a href="ServiceDependency.Any.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;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:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</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.annotation.api</div>
+<h2 title="Interface ServiceDependency.Any" class="title">Interface ServiceDependency.Any</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceDependency.html" title="annotation in org.apache.felix.dm.annotation.api">ServiceDependency</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static interface <span class="typeNameLabel">ServiceDependency.Any</span></pre>
+<div class="block">Marker interface used to match any service types. When you set the <a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceDependency.html#service--"><code>ServiceDependency.service()</code></a> attribute to this class,
+ it means that the dependency will return any services (matching the <a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceDependency.html#filter--"><code>ServiceDependency.filter()</code></a> attribute if it is specified).</div>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../org/apache/felix/dm/annotation/api/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/annotation/api/ServiceDependency.html" title="annotation in org.apache.felix.dm.annotation.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceScope.html" title="enum in org.apache.felix.dm.annotation.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/felix/dm/annotation/api/ServiceDependency.Any.html" target="_top">Frames</a></li>
+<li><a href="ServiceDependency.Any.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>

Added: felix/site/trunk/content/apidocs/dependencymanager.annotations/r13/org/apache/felix/dm/annotation/api/ServiceDependency.html
URL: http://svn.apache.org/viewvc/felix/site/trunk/content/apidocs/dependencymanager.annotations/r13/org/apache/felix/dm/annotation/api/ServiceDependency.html?rev=1844576&view=auto
==============================================================================
--- felix/site/trunk/content/apidocs/dependencymanager.annotations/r13/org/apache/felix/dm/annotation/api/ServiceDependency.html (added)
+++ felix/site/trunk/content/apidocs/dependencymanager.annotations/r13/org/apache/felix/dm/annotation/api/ServiceDependency.html Mon Oct 22 16:55:40 2018
@@ -0,0 +1,648 @@
+<!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:37:56 CEST 2018 -->
+<title>ServiceDependency</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="ServiceDependency";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</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="../../../../../../org/apache/felix/dm/annotation/api/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/annotation/api/RepeatableProperty.html" title="annotation in org.apache.felix.dm.annotation.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceDependency.Any.html" title="interface in org.apache.felix.dm.annotation.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/felix/dm/annotation/api/ServiceDependency.html" target="_top">Frames</a></li>
+<li><a href="ServiceDependency.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;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:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Required&nbsp;|&nbsp;</li>
+<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#annotation.type.element.detail">Element</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.annotation.api</div>
+<h2 title="Annotation Type ServiceDependency" class="title">Annotation Type ServiceDependency</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@Retention(value=CLASS)
+ @Target(value={METHOD,FIELD})
+public @interface <span class="memberNameLabel">ServiceDependency</span></pre>
+<div class="block">Annotates a method or a field for injecting a Service Dependency. When applied on a class 
+ field, optional unavailable dependencies are injected with a NullObject.
+ 
+ <p> For "add", "change", "remove" callbacks, the following method signatures are supported:
+ 
+ <pre><code>
+ (Component comp, ServiceReference ref, Service service)
+ (Component comp, ServiceReference ref, Object service)
+ (Component comp, ServiceReference ref)
+ (Component comp, Service service)
+ (Component comp, Object service)
+ (Component comp)
+ (Component comp, Map properties, Service service)
+ (ServiceReference ref, Service service)
+ (ServiceReference ref, Object service)
+ (ServiceReference ref)
+ (Service service)
+ (Service service, Map properties)
+ (Map properties, Service, service)
+ (Service service, Dictionary properties)
+ (Dictionary properties, Service service)
+ (Object service)
+ (ServiceReference&lt;T&gt; service)
+ (ServiceObjects&lt;T&gt; service)
+ </code></pre>
+ 
+ <p> For "swap" callbacks, the following method signatures are supported:
+ 
+ <pre><code>
+ (Service old, Service replace)
+ (Object old, Object replace)
+ (ServiceReference old, Service old, ServiceReference replace, Service replace)
+ (ServiceReference old, Object old, ServiceReference replace, Object replace)
+ (Component comp, Service old, Service replace)
+ (Component comp, Object old, Object replace)
+ (Component comp, ServiceReference old, Service old, ServiceReference replace, Service replace)
+ (Component comp, ServiceReference old, Object old, ServiceReference replace, Object replace)
+ (ServiceReference old, ServiceReference replace)
+ (Component comp, ServiceReference old, ServiceReference replace)
+ (ServiceObjects old, ServiceObjects replace)
+ (Component comp, ServiceObjects old, ServiceObjects replace)
+ </code></pre>
+ 
+ <p> When the dependency is injected on a class field, the following field types are supported:
+ 
+ <ul>
+ <li> a field having the same type as the dependency. If the field may be accessed by any thread, then the field should be declared volatile, in order to ensure visibility 
+      when the field is auto injected concurrently.
+ <li> a field which is assignable to an  Iterable&lt;T&gt; where T must match the dependency type. In this case, an Iterable will be injected by DependencyManager before the start 
+      callback is called. The Iterable field may then be traversed to inspect the currently available dependency services. The Iterable can possibly be set to a final value 
+      so you can choose the Iterable implementation of your choice (for example, a CopyOnWrite ArrayList, or a ConcurrentLinkedQueue).
+ <li> a Map&lt;K,V&gt; where K must match the dependency type and V must exactly equals Dictionary class. In this case, a ConcurrentHashMap will be injected by DependencyManager 
+      before the start callback is called. The Map may then be consulted to lookup current available dependency services, including the dependency service properties 
+      (the map key holds the dependency services, and the map value holds the dependency service properties). The Map field may be set to a final value so you can choose a Map of your choice (Typically a ConcurrentHashMap). A ConcurrentHashMap is "weakly consistent", meaning that when traversing the elements, you may or may not see any concurrent updates made on the map. So, take care to traverse the map using an iterator on the map entry set, which allows to atomically lookup pairs of Dependency service/Service properties.
+ </ul>
+ 
+ <h3>Usage Examples</h3>
+ Here, the MyComponent component is injected with a dependency over a "MyDependency" service
+ 
+ <blockquote><pre>
+ &#64;Component
+ class MyComponent {
+     &#64;ServiceDependency
+     volatile MyDependency dependency;
+ }
+ </pre></blockquote>
+ 
+ The dependency can also be injected using a method callback:
+ 
+ <blockquote><pre>
+ &#64;Component
+ class MyComponent {
+     &#64;ServiceDependency
+     void bind(MyDependency dependency) {}
+ }
+ </pre></blockquote>
+ 
+ Same example as before, but the callback signatures includes service properties:
+ 
+ <blockquote><pre>
+ &#64;Component
+ class MyComponent {
+     &#64;ServiceDependency
+     void bind(MyDependency dependency, Map&lt;String, Object&gt; serviceProperties) {}
+ }
+ </pre></blockquote>
+ 
+ Another example, were we inject multiple dependencies to an Iterable field
+ 
+ <blockquote><pre>
+ &#64;Component
+ class MyComponent {
+     &#64;ServiceDependency
+     final Iterable&lt;Dependency&gt; dependencies = new CopyOnWriteArrayList&lt;&gt;();
+ }
+ </pre></blockquote>
+ 
+ Another example, were we inject multiple dependencies to a Map field, allowing to inspect service dependency properties
+ (the keys hold the services, and the values hold the associated service properties):
+ 
+ <blockquote><pre>
+ &#64;Component
+ class MyComponent {
+     &#64;ServiceDependency
+     final Map&lt;MyDependency, Dictionary&lt;String, Object&gt;&gt; dependencies = new ConcurrentHashMap&lt;&gt;;
+ }
+ </pre></blockquote></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="annotation.type.optional.element.summary">
+<!--   -->
+</a>
+<h3>Optional Element Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Optional Element Summary table, listing optional elements, and an explanation">
+<caption><span>Optional Elements</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Optional Element and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceDependency.html#added--">added</a></span></code>
+<div class="block">The callback method to be invoked when the service is available.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceDependency.html#changed--">changed</a></span></code>
+<div class="block">The callback method to be invoked when the service properties have changed.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>java.lang.Class&lt;?&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceDependency.html#defaultImpl--">defaultImpl</a></span></code>
+<div class="block">Sets the default implementation for an <code>optional</code> service dependency.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceDependency.html#filter--">filter</a></span></code>
+<div class="block">The Service dependency OSGi filter.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceDependency.html#name--">name</a></span></code>
+<div class="block">The name used when dynamically configuring this dependency from the init method.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceDependency.html#propagate--">propagate</a></span></code>
+<div class="block">Returns true if the dependency service properties must be published along with the service.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceDependency.html#removed--">removed</a></span></code>
+<div class="block">The callback method to invoke when the service is lost.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceDependency.html#required--">required</a></span></code>
+<div class="block">Whether the Service dependency is required or not.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>java.lang.Class&lt;?&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceDependency.html#service--">service</a></span></code>
+<div class="block">The type if the service this dependency is applying on.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceDependency.html#swap--">swap</a></span></code>
+<div class="block">the method to call when the service was swapped due to addition or removal of an aspect</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceDependency.html#timeout--">timeout</a></span></code>
+<div class="block">The max time in millis to wait for the dependency availability.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="annotation.type.element.detail">
+<!--   -->
+</a>
+<h3>Element Detail</h3>
+<a name="service--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>service</h4>
+<pre>public abstract&nbsp;java.lang.Class&lt;?&gt;&nbsp;service</pre>
+<div class="block">The type if the service this dependency is applying on. By default, the method parameter 
+ (or the class field) is used as the type. If you want to match all available services, you can set
+ this attribute to the <a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceDependency.Any.html" title="interface in org.apache.felix.dm.annotation.api"><code>ServiceDependency.Any</code></a> class. In this case, all services (matching the <a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceDependency.html#filter--"><code>filter()</code></a> attribute if it is specified) will
+ be returned.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the service dependency</dd>
+</dl>
+<dl>
+<dt>Default:</dt>
+<dd>java.lang.Object.class</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="filter--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>filter</h4>
+<pre>public abstract&nbsp;java.lang.String&nbsp;filter</pre>
+<div class="block">The Service dependency OSGi filter.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the service filter</dd>
+</dl>
+<dl>
+<dt>Default:</dt>
+<dd>""</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="defaultImpl--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>defaultImpl</h4>
+<pre>public abstract&nbsp;java.lang.Class&lt;?&gt;&nbsp;defaultImpl</pre>
+<div class="block">Sets the default implementation for an <code>optional</code> service dependency. You can use this to supply
+ your own implementation that will be used instead of a Null Object when the dependency is
+ not available. This is also convenient if the service dependency is not an interface
+ (which would cause the Null Object creation to fail) but a class.
+ Only use this attribute on an optional service dependency applied on a class field.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the default implementation class</dd>
+</dl>
+<dl>
+<dt>Default:</dt>
+<dd>java.lang.Object.class</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="required--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>required</h4>
+<pre>public abstract&nbsp;boolean&nbsp;required</pre>
+<div class="block">Whether the Service dependency is required or not. When the dependency is optional and if the annotation is declared on a class field, then
+ a Null Object will be injected in case the dependency is unavailable.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the required flag</dd>
+</dl>
+<dl>
+<dt>Default:</dt>
+<dd>true</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="added--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>added</h4>
+<pre>public abstract&nbsp;java.lang.String&nbsp;added</pre>
+<div class="block">The callback method to be invoked when the service is available. This attribute is only meaningful when 
+ the annotation is applied on a class field.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the add callback</dd>
+</dl>
+<dl>
+<dt>Default:</dt>
+<dd>""</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="changed--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>changed</h4>
+<pre>public abstract&nbsp;java.lang.String&nbsp;changed</pre>
+<div class="block">The callback method to be invoked when the service properties have changed.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the change callback</dd>
+</dl>
+<dl>
+<dt>Default:</dt>
+<dd>""</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="removed--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removed</h4>
+<pre>public abstract&nbsp;java.lang.String&nbsp;removed</pre>
+<div class="block">The callback method to invoke when the service is lost.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the remove callback</dd>
+</dl>
+<dl>
+<dt>Default:</dt>
+<dd>""</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="swap--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>swap</h4>
+<pre>public abstract&nbsp;java.lang.String&nbsp;swap</pre>
+<div class="block">the method to call when the service was swapped due to addition or removal of an aspect</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the swap callback</dd>
+</dl>
+<dl>
+<dt>Default:</dt>
+<dd>""</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="timeout--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>timeout</h4>
+<pre>public abstract&nbsp;long&nbsp;timeout</pre>
+<div class="block">The max time in millis to wait for the dependency availability. 
+ Specifying a positive number allow to block the caller thread between service updates. Only
+ useful for required stateless dependencies that can be replaced transparently.
+ A Dynamic Proxy is used to wrap the actual service dependency (which must be an interface). 
+ When the dependency goes away, an attempt is made to replace it with another one which satisfies 
+ the service dependency criteria. If no service replacement is available, then any method invocation 
+ (through the dynamic proxy) will block during a configurable timeout. On timeout, an unchecked 
+ <code>IllegalStateException</code> exception is raised (but the service is not deactivated).<p>
+ Notice that the changed/removed callbacks are not used when the timeout parameter is greater than -1. 
+ 
+ -1 means no timeout at all (default). 0 means that invocation on a missing service will fail 
+ immediately. A positive number represents the max timeout in millis to wait for the service availability.
+ 
+ Sample Code:
+ <blockquote><pre>
+ &#64;Component
+ class MyServer implements Runnable {
+   &#64;ServiceDependency(timeout=15000)
+   MyDependency dependency;.
+   
+   &#64;Start
+   void start() {
+     (new Thread(this)).start();
+   }
+   
+   public void run() {
+     try {
+       dependency.doWork();
+     } catch (IllegalStateException e) {
+       t.printStackTrace();
+     }
+   }   
+ </pre></blockquote></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the wait time when the dependency is unavailable</dd>
+</dl>
+<dl>
+<dt>Default:</dt>
+<dd>-1L</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="name--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>name</h4>
+<pre>public abstract&nbsp;java.lang.String&nbsp;name</pre>
+<div class="block">The name used when dynamically configuring this dependency from the init method.
+ Specifying this attribute allows to dynamically configure the dependency 
+ <code>filter</code> and <code>required</code> flag from the Service's init method.
+ All unnamed dependencies will be injected before the init() method; so from the init() method, you can
+ then pick up whatever information needed from already injected (unnamed) dependencies, and configure dynamically
+ your named dependencies, which will then be calculated once the init() method returns.
+ 
+ <p> See <a href="../../../../../../org/apache/felix/dm/annotation/api/Init.html" title="annotation in org.apache.felix.dm.annotation.api"><code>Init</code></a> annotation for an example usage of a dependency dynamically configured from the init method.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the dependency name used to dynamically configure the filter and required flag from the init callback.</dd>
+</dl>
+<dl>
+<dt>Default:</dt>
+<dd>""</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="propagate--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>propagate</h4>
+<pre>public abstract&nbsp;boolean&nbsp;propagate</pre>
+<div class="block">Returns true if the dependency service properties must be published along with the service. 
+ Any additional service properties specified directly are merged with these.
+ The component provided service properties take precedence over the propagated service dependency properties, meaning
+ that a give component service property overrides the same property included in the propagated service dependency properties.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if dependency service properties must be published along with the service, false if not.</dd>
+</dl>
+<dl>
+<dt>Default:</dt>
+<dd>false</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../org/apache/felix/dm/annotation/api/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/annotation/api/RepeatableProperty.html" title="annotation in org.apache.felix.dm.annotation.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceDependency.Any.html" title="interface in org.apache.felix.dm.annotation.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/felix/dm/annotation/api/ServiceDependency.html" target="_top">Frames</a></li>
+<li><a href="ServiceDependency.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Required&nbsp;|&nbsp;</li>
+<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#annotation.type.element.detail">Element</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>

Added: felix/site/trunk/content/apidocs/dependencymanager.annotations/r13/org/apache/felix/dm/annotation/api/ServiceScope.html
URL: http://svn.apache.org/viewvc/felix/site/trunk/content/apidocs/dependencymanager.annotations/r13/org/apache/felix/dm/annotation/api/ServiceScope.html?rev=1844576&view=auto
==============================================================================
--- felix/site/trunk/content/apidocs/dependencymanager.annotations/r13/org/apache/felix/dm/annotation/api/ServiceScope.html (added)
+++ felix/site/trunk/content/apidocs/dependencymanager.annotations/r13/org/apache/felix/dm/annotation/api/ServiceScope.html Mon Oct 22 16:55:40 2018
@@ -0,0 +1,371 @@
+<!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:37:56 CEST 2018 -->
+<title>ServiceScope</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="ServiceScope";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete 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="../../../../../../org/apache/felix/dm/annotation/api/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/annotation/api/ServiceDependency.Any.html" title="interface in org.apache.felix.dm.annotation.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/felix/dm/annotation/api/Start.html" title="annotation in org.apache.felix.dm.annotation.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/felix/dm/annotation/api/ServiceScope.html" target="_top">Frames</a></li>
+<li><a href="ServiceScope.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;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:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</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.annotation.api</div>
+<h2 title="Enum ServiceScope" class="title">Enum ServiceScope</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>java.lang.Enum&lt;<a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceScope.html" title="enum in org.apache.felix.dm.annotation.api">ServiceScope</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.felix.dm.annotation.api.ServiceScope</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd>java.io.Serializable, java.lang.Comparable&lt;<a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceScope.html" title="enum in org.apache.felix.dm.annotation.api">ServiceScope</a>&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public enum <span class="typeNameLabel">ServiceScope</span>
+extends java.lang.Enum&lt;<a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceScope.html" title="enum in org.apache.felix.dm.annotation.api">ServiceScope</a>&gt;</pre>
+<div class="block">Service scope for the <a href="../../../../../../org/apache/felix/dm/annotation/api/Component.html" title="annotation in org.apache.felix.dm.annotation.api"><code>Component</code></a>/<a href="../../../../../../org/apache/felix/dm/annotation/api/AdapterService.html" title="annotation in org.apache.felix.dm.annotation.api"><code>AdapterService</code></a>/<a href="../../../../../../org/apache/felix/dm/annotation/api/AspectService.html" title="annotation in org.apache.felix.dm.annotation.api"><code>AspectService</code></a>/<a href="../../../../../../org/apache/felix/dm/annotation/api/BundleAdapterService.html" title="annotation in org.apache.felix.dm.annotation.api"><code>BundleAdapterService</code></a> annotations.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!--   -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceScope.html#BUNDLE">BUNDLE</a></span></code>
+<div class="block">When the component is registered as a service, it must be registered as a
+ bundle scope service and an instance of the component must be created for
+ each bundle using the service.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceScope.html#PROTOTYPE">PROTOTYPE</a></span></code>
+<div class="block">When the component is registered as a service, it must be registered as a
+ prototype scope service and an instance of the component must be created
+ for each distinct request for the service.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceScope.html#SINGLETON">SINGLETON</a></span></code>
+<div class="block">When the component is registered as a service, it must be registered as a
+ bundle scope service but only a single instance of the component must be
+ used for all bundles using the service.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== 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">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</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>static <a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceScope.html" title="enum in org.apache.felix.dm.annotation.api">ServiceScope</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceScope.html#valueOf-java.lang.String-">valueOf</a></span>(java.lang.String&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceScope.html" title="enum in org.apache.felix.dm.annotation.api">ServiceScope</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceScope.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Enum</h3>
+<code>clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>getClass, notify, notifyAll, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!--   -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="SINGLETON">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SINGLETON</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceScope.html" title="enum in org.apache.felix.dm.annotation.api">ServiceScope</a> SINGLETON</pre>
+<div class="block">When the component is registered as a service, it must be registered as a
+ bundle scope service but only a single instance of the component must be
+ used for all bundles using the service.</div>
+</li>
+</ul>
+<a name="BUNDLE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>BUNDLE</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceScope.html" title="enum in org.apache.felix.dm.annotation.api">ServiceScope</a> BUNDLE</pre>
+<div class="block">When the component is registered as a service, it must be registered as a
+ bundle scope service and an instance of the component must be created for
+ each bundle using the service.</div>
+</li>
+</ul>
+<a name="PROTOTYPE">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>PROTOTYPE</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceScope.html" title="enum in org.apache.felix.dm.annotation.api">ServiceScope</a> PROTOTYPE</pre>
+<div class="block">When the component is registered as a service, it must be registered as a
+ prototype scope service and an instance of the component must be created
+ for each distinct request for the service.</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceScope.html" title="enum in org.apache.felix.dm.annotation.api">ServiceScope</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.  This method may be used to iterate
+over the constants as follows:
+<pre>
+for (ServiceScope c : ServiceScope.values())
+&nbsp;   System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/felix/dm/annotation/api/ServiceScope.html" title="enum in org.apache.felix.dm.annotation.api">ServiceScope</a>&nbsp;valueOf(java.lang.String&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type.  (Extraneous whitespace characters are 
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>java.lang.IllegalArgumentException</code> - if this enum type has no constant with the specified name</dd>
+<dd><code>java.lang.NullPointerException</code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../org/apache/felix/dm/annotation/api/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/annotation/api/ServiceDependency.Any.html" title="interface in org.apache.felix.dm.annotation.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/felix/dm/annotation/api/Start.html" title="annotation in org.apache.felix.dm.annotation.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/felix/dm/annotation/api/ServiceScope.html" target="_top">Frames</a></li>
+<li><a href="ServiceScope.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>

Added: felix/site/trunk/content/apidocs/dependencymanager.annotations/r13/org/apache/felix/dm/annotation/api/Start.html
URL: http://svn.apache.org/viewvc/felix/site/trunk/content/apidocs/dependencymanager.annotations/r13/org/apache/felix/dm/annotation/api/Start.html?rev=1844576&view=auto
==============================================================================
--- felix/site/trunk/content/apidocs/dependencymanager.annotations/r13/org/apache/felix/dm/annotation/api/Start.html (added)
+++ felix/site/trunk/content/apidocs/dependencymanager.annotations/r13/org/apache/felix/dm/annotation/api/Start.html Mon Oct 22 16:55:40 2018
@@ -0,0 +1,189 @@
+<!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:37:56 CEST 2018 -->
+<title>Start</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="Start";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</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="../../../../../../org/apache/felix/dm/annotation/api/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/annotation/api/ServiceScope.html" title="enum in org.apache.felix.dm.annotation.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/felix/dm/annotation/api/Stop.html" title="annotation in org.apache.felix.dm.annotation.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/felix/dm/annotation/api/Start.html" target="_top">Frames</a></li>
+<li><a href="Start.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;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:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Required&nbsp;|&nbsp;</li>
+<li>Optional</li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Element</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.annotation.api</div>
+<h2 title="Annotation Type Start" class="title">Annotation Type Start</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@Retention(value=CLASS)
+ @Target(value=METHOD)
+public @interface <span class="memberNameLabel">Start</span></pre>
+<div class="block">Annotates a method which will be invoked when the component is started.
+ The annotated method is invoked juste before registering the service into the OSGi registry 
+ (if the service provides an interface). Notice that the start method may optionally return 
+ a Map which will be propagated to the provided service properties.<p>
+ Service activation/deactivation can be programatically controlled using <a href="../../../../../../org/apache/felix/dm/annotation/api/LifecycleController.html" title="annotation in org.apache.felix.dm.annotation.api"><code>LifecycleController</code></a>.
+      
+ <h3>Usage Examples</h3>
+ <blockquote>
+ 
+ <pre>
+ &#64;Component(properties={&#64;Property(name="foo", value="bar")})
+ class X implements Z {
+     &#64;ServiceDependency
+     OtherService m_dependency;
+   
+     &#64;Start
+     Map start() {
+         // Our Z Service is ready (all required dependencies have been satisfied), and is about to be 
+         // registered into the OSGi registry. We return here an optional Map containing some extra-properties
+         // which will be appended to the properties supplied in the Component annotation.
+         return new HashMap() {{
+            put("foo2", "bar2");
+            put(Constants.SERVICE_RANKING, Integer.valueOf(10));
+         }};
+     }
+ }
+ </pre>
+ </blockquote></div>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../org/apache/felix/dm/annotation/api/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/annotation/api/ServiceScope.html" title="enum in org.apache.felix.dm.annotation.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/felix/dm/annotation/api/Stop.html" title="annotation in org.apache.felix.dm.annotation.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/felix/dm/annotation/api/Start.html" target="_top">Frames</a></li>
+<li><a href="Start.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Required&nbsp;|&nbsp;</li>
+<li>Optional</li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Element</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>