Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.equinox.ds/src/org/apache/felix/scr/Reference.java')
-rw-r--r--bundles/org.eclipse.equinox.ds/src/org/apache/felix/scr/Reference.java121
1 files changed, 121 insertions, 0 deletions
diff --git a/bundles/org.eclipse.equinox.ds/src/org/apache/felix/scr/Reference.java b/bundles/org.eclipse.equinox.ds/src/org/apache/felix/scr/Reference.java
new file mode 100644
index 000000000..6decd81df
--- /dev/null
+++ b/bundles/org.eclipse.equinox.ds/src/org/apache/felix/scr/Reference.java
@@ -0,0 +1,121 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.felix.scr;
+
+import org.osgi.framework.ServiceReference;
+
+/**
+ * The <code>Reference</code> interface represents a single reference (or
+ * dependency) to a service used by a Component.
+ * @deprecated clients should use {@link org.osgi.service.component.runtime.dto.ReferenceDTO} instead.
+ */
+@Deprecated
+public interface Reference {
+
+ /**
+ * Returns the name of this Reference. This method provides access to the
+ * <code>name</code> attribute of the <code>reference</code> element.
+ */
+ String getName();
+
+ /**
+ * Returns the name of the service used by this Reference. This method
+ * provides access to the <code>interface</code> attribute of the
+ * <code>reference</code> element.
+ */
+ String getServiceName();
+
+ /**
+ * Returns an array of references to the services bound to this Reference
+ * or <code>null</code> if no services are currently bound.
+ */
+ ServiceReference[] getServiceReferences();
+
+ /**
+ * Returns whether this reference is satisfied. A {@link #isOptional() optional}
+ * component is always satisfied. Otherwise <code>true</code> is only
+ * returned if at least one service is bound.
+ */
+ boolean isSatisfied();
+
+ /**
+ * Returns whether this reference is optional. This method provides access
+ * to the lower bound of the <code>cardinality</code> attribute of the
+ * <code>reference</code> element. In other words, this method returns
+ * <code>true</code> if the cardinality is <em>0..1</em> or <em>0..n</em>.
+ */
+ boolean isOptional();
+
+ /**
+ * Returns whether this reference is multiple. This method provides access
+ * to the upper bound of the <code>cardinality</code> attribute of the
+ * <code>reference</code> element. In other words, this method returns
+ * <code>true</code> if the cardinality is <em>0..n</em> or <em>1..n</em>.
+ */
+ boolean isMultiple();
+
+ /**
+ * Returns <code>true</code> if the reference is defined with static policy.
+ * This method provides access to the <code>policy</code> element of the
+ * <code>reference</code> element. <code>true</code> is returned if the
+ * policy is defined as <em>static</em>.
+ */
+ boolean isStatic();
+
+ /**
+ * Returns the value of the target property of this reference. Initially
+ * (without overwriting configuration) this method provides access to the
+ * <code>target</code> attribute of the <code>reference</code> element. If
+ * configuration overwrites the target property, this method returns the
+ * value of the Component property whose name is derived from the
+ * {@link #getName() reference name} plus the suffix <em>.target</em>. If
+ * no target property exists this method returns <code>null</code>.
+ */
+ String getTarget();
+
+ /**
+ * Returns the name of the method called if a service is being bound to
+ * the Component or <code>null</code> if no such method is configured. This
+ * method provides access to the <code>bind</code> attribute of the
+ * <code>reference</code> element.
+ */
+ String getBindMethodName();
+
+ /**
+ * Returns the name of the method called if a service is being unbound from
+ * the Component or <code>null</code> if no such method is configured. This
+ * method provides access to the <code>unbind</code> attribute of the
+ * <code>reference</code> element.
+ */
+ String getUnbindMethodName();
+
+ /**
+ * Returns the name of the method called if a bound service updates its
+ * service registration properties or <code>null</code> if no such method
+ * is configured. This method provides access to the <code>updated</code>
+ * attribute of the <code>reference</code> element.
+ * <p>
+ * For a component declared in a Declarative Services 1.0 and 1.1
+ * descriptor, this method always returns <code>null</code>.
+ *
+ * @since 1.4
+ */
+ String getUpdatedMethodName();
+
+}

Back to the top