blob: 905275d756d7994b371b381936002fa6fdfe07cb [file] [log] [blame]
Felix Meschberger8c64e852009-07-28 13:48:28 +00001<?xml version="1.0" encoding="UTF-8"?>
2<!--
3 Licensed to the Apache Software Foundation (ASF) under one
4 or more contributor license agreements. See the NOTICE file
5 distributed with this work for additional information
6 regarding copyright ownership. The ASF licenses this file
7 to you under the Apache License, Version 2.0 (the
8 "License"); you may not use this file except in compliance
9 with the License. You may obtain a copy of the License at
10
11 http://www.apache.org/licenses/LICENSE-2.0
12
13 Unless required by applicable law or agreed to in writing,
14 software distributed under the License is distributed on an
15 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 KIND, either express or implied. See the License for the
17 specific language governing permissions and limitations
18 under the License.
19-->
20<components xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0">
21
22 <!-- component ignores configuration -->
23 <scr:component name="SimpleComponent.configuration.ignore"
24 enabled="false"
25 configuration-policy="ignore">
26 <implementation class="org.apache.felix.scr.integration.components.SimpleComponent" />
Felix Meschberger7e572cc2009-08-03 19:16:00 +000027 <property name="service.pid" value="SimpleComponent.configuration.ignore" />
Felix Meschberger8c64e852009-07-28 13:48:28 +000028 </scr:component>
29
30 <!-- component takes configuration as available -->
31 <scr:component name="SimpleComponent.configuration.optional"
32 enabled="false"
33 configuration-policy="optional" >
34 <implementation class="org.apache.felix.scr.integration.components.SimpleComponent" />
Felix Meschberger7e572cc2009-08-03 19:16:00 +000035 <property name="service.pid" value="SimpleComponent.configuration.optional" />
Felix Meschberger8c64e852009-07-28 13:48:28 +000036 </scr:component>
37
38 <!-- component requires configuration -->
39 <scr:component name="SimpleComponent.configuration.require"
40 enabled="false"
41 configuration-policy="require" >
42 <implementation class="org.apache.felix.scr.integration.components.SimpleComponent" />
Felix Meschberger7e572cc2009-08-03 19:16:00 +000043 <property name="service.pid" value="SimpleComponent.configuration.require" />
Felix Meschberger8c64e852009-07-28 13:48:28 +000044 </scr:component>
45
46 <!-- component dynamically updates configuration -->
47 <scr:component name="DynamicConfigurationComponent"
48 enabled="false" modified="configure">
49 <implementation class="org.apache.felix.scr.integration.components.SimpleComponent" />
Felix Meschberger7e572cc2009-08-03 19:16:00 +000050 <property name="service.pid" value="DynamicConfigurationComponent" />
Felix Meschberger8c64e852009-07-28 13:48:28 +000051 </scr:component>
52
Felix Meschbergerf69954c2012-05-31 16:51:54 +000053 <!-- component dynamically updates configuration with a required reference plus target-->
54 <scr:component name="DynamicConfigurationComponentWithRequiredReference"
55 enabled="false" modified="configure">
56 <implementation class="org.apache.felix.scr.integration.components.SimpleComponent" />
57 <property name="service.pid" value="DynamicConfigurationComponentWithRequiredReference" />
58 <reference
59 name="ref"
60 interface="org.apache.felix.scr.integration.components.SimpleService"
61 cardinality="1..1"
62 policy="dynamic"
David Jencks6c87d962013-01-29 06:54:24 +000063 bind="setSimpleService"
64 unbind="unsetSimpleService"
65 target="(filterprop=__nothing__)"
66 />
67 </scr:component>
68
69 <scr:component name="DynamicConfigurationComponentWithOptionalReference"
70 enabled="false" modified="configure" immediate="true">
71 <implementation class="org.apache.felix.scr.integration.components.SimpleComponent" />
72 <property name="service.pid" value="DynamicConfigurationComponentWithRequiredReference" />
73 <reference
74 name="ref"
75 interface="org.apache.felix.scr.integration.components.SimpleService"
76 cardinality="0..1"
77 policy="dynamic"
78 bind="setSimpleService"
79 unbind="unsetSimpleService"
Felix Meschbergerf69954c2012-05-31 16:51:54 +000080 target="(filterprop=__nothing__)"
81 />
82 </scr:component>
83
Felix Meschberger8c64e852009-07-28 13:48:28 +000084 <!-- component instances created by factory configuration -->
85 <scr:component name="FactoryConfigurationComponent"
86 enabled="false"
87 configuration-policy="require" >
88 <implementation class="org.apache.felix.scr.integration.components.SimpleComponent" />
Felix Meschberger7e572cc2009-08-03 19:16:00 +000089 <property name="service.pid" value="FactoryConfigurationComponent" />
Felix Meschberger8c64e852009-07-28 13:48:28 +000090 </scr:component>
Felix Meschbergerdcb192f2009-07-31 14:44:12 +000091
Felix Meschberger65bd35d2010-03-24 08:15:51 +000092 <!-- component instances created by factory configuration -->
93 <scr:component name="FactoryConfigurationComponent_enabled"
94 enabled="true"
95 configuration-policy="require" >
96 <implementation class="org.apache.felix.scr.integration.components.SimpleComponent" />
97 <property name="service.pid" value="FactoryConfigurationComponent" />
98 </scr:component>
99
Felix Meschbergerd961cbf2009-10-29 14:44:54 +0000100 <!-- component is a simple service to verify non-use of private props -->
Felix Meschbergerdcb192f2009-07-31 14:44:12 +0000101 <scr:component name="ServiceComponent"
102 enabled="false" immediate="true"
103 configuration-policy="ignore" >
104 <implementation class="org.apache.felix.scr.integration.components.SimpleComponent" />
Felix Meschberger7e572cc2009-08-03 19:16:00 +0000105 <property name="service.pid" value="ServiceComponent" />
Felix Meschbergerdcb192f2009-07-31 14:44:12 +0000106 <property name="prop.public" value="required" />
107 <property name=".prop.private" value="private" />
108 <service>
109 <provide interface="java.lang.Object" />
110 </service>
111 </scr:component>
112
Felix Meschbergerd961cbf2009-10-29 14:44:54 +0000113 <!-- component is a simple service to verify deactivation when not being used any longer -->
114 <scr:component name="DelayedServiceComponent"
115 enabled="false" immediate="false"
116 configuration-policy="ignore" >
117 <implementation class="org.apache.felix.scr.integration.components.SimpleComponent" />
118 <property name="service.pid" value="ServiceComponent" />
119 <service>
120 <provide interface="java.lang.Object" />
121 </service>
122 </scr:component>
123
Felix Meschbergerf4ae4e42009-08-21 11:52:16 +0000124 <!-- Component Factory Instances -->
125 <scr:component name="factory.component"
126 enabled="false"
127 factory="factory.component.factory" >
128 <implementation class="org.apache.felix.scr.integration.components.SimpleComponent" />
129 </scr:component>
Felix Meschberger2e8a24d2009-12-14 10:00:12 +0000130
131 <!-- Component Factory Instances, requiring configuration -->
132 <scr:component name="factory.component.configuration"
133 enabled="false"
134 configuration-policy="require"
135 factory="factory.component.factory.configuration" >
136 <implementation class="org.apache.felix.scr.integration.components.SimpleComponent" />
137 </scr:component>
Felix Meschberger0a9c6b02012-02-17 13:27:42 +0000138
139 <!-- Component Factory Instances, requiring configuration -->
140 <scr:component name="factory.component.reference"
141 enabled="false"
142 configuration-policy="ignore"
143 factory="factory.component.factory.reference" >
144 <implementation class="org.apache.felix.scr.integration.components.SimpleComponent" />
145 <reference
146 name="ref"
147 interface="org.apache.felix.scr.integration.components.SimpleService"
148 cardinality="1..n"
149 policy="static"
150 bind="bindSimpleService"
151 unbind="unbindSimpleService"
152 target="(filterprop=required)"
153 />
154 </scr:component>
Felix Meschbergerf4ae4e42009-08-21 11:52:16 +0000155
David Jencks6391f0c2012-08-11 02:49:37 +0000156 <!-- Component Factory Instances, instance is referred to by another component -->
157 <scr:component name="factory.component.referred"
158 enabled="false"
159 factory="factory.component.factory.referred" >
160 <implementation class="org.apache.felix.scr.integration.components.SimpleServiceImpl" />
161 <service>
162 <provide interface="org.apache.felix.scr.integration.components.SimpleService" />
163 </service>
164 </scr:component>
165
166 <!-- component has a reference to service created by the factory.component.referred factory component-->
167 <scr:component name="ComponentReferringToFactoryObject"
168 enabled="false"
169 immediate="true">
170 <implementation class="org.apache.felix.scr.integration.components.SimpleComponent" />
171 <property name="service.pid" value="ComponentReferringToFactoryObject" />
172 <reference
173 name="ref"
174 interface="org.apache.felix.scr.integration.components.SimpleService"
175 cardinality="1..1"
176 policy="dynamic"
177 bind="bindSimpleService"
178 unbind="unbindSimpleService"
179 target="(service.pid=myFactoryInstance)"
180 />
181 </scr:component>
182
Felix Meschberger8c64e852009-07-28 13:48:28 +0000183</components>