blob: b843280e9dc128310614bb974611acd9dfa1c838 [file] [log] [blame]
David Jenckse165efc2014-06-15 01:09:26 +00001/*
2 * Copyright (c) OSGi Alliance (2013, 2014). All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package org.osgi.service.component.runtime.dto;
18
19import org.osgi.dto.DTO;
20import org.osgi.framework.dto.ServiceReferenceDTO;
21
22/**
23 * A representation of a bound reference to a service.
24 *
25 * @since 1.3
26 * @NotThreadSafe
27 * @author $Id: 1ba28863312f0c0784e4a5596f991a6a6a68c147 $
28 */
29public class BoundReferenceDTO extends DTO {
30 /**
31 * The name of the declared reference.
32 *
33 * <p>
34 * This is declared in the {@code name} attribute of the {@code reference}
35 * element of the component description.
36 *
37 * @see ComponentDescriptionDTO#name
38 */
39 public String name;
40
41 /**
42 * The target property of the bound reference.
43 *
44 * <p>
45 * This is the value of the {@link ComponentConfigurationDTO#properties
46 * component property} whose name is the concatenation of the
47 * {@link ReferenceDTO#name declared reference name} and
48 * &quot;.target&quot;. This will be {@code null} if no target property is
49 * set for the reference.
50 */
51 public String target;
52
53 /**
54 * The bound services.
55 *
56 * <p>
57 * Each {@link ServiceReferenceDTO} in the array represents a service bound
58 * to the component configuration.
59 */
60 public ServiceReferenceDTO[] serviceReferences;
61}