FELIX-4768 : [RFC190/212] Reference can specify both method and field
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1653352 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/helper/ComponentMethods.java b/scr/src/main/java/org/apache/felix/scr/impl/helper/ComponentMethods.java
index 09d10cf..57d1b5f 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/helper/ComponentMethods.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/helper/ComponentMethods.java
@@ -58,7 +58,13 @@
{
final String refName = referenceMetadata.getName();
final ReferenceMethods methods;
- if ( referenceMetadata.getField() != null )
+ if ( referenceMetadata.getField() != null && referenceMetadata.getBind() != null)
+ {
+ methods = new DuplexReferenceMethods(
+ new FieldMethods( referenceMetadata, implementationObjectClass, dsVersion, configurableServiceProperties),
+ new BindMethods( referenceMetadata, implementationObjectClass, dsVersion, configurableServiceProperties));
+ }
+ else if ( referenceMetadata.getField() != null )
{
methods = new FieldMethods( referenceMetadata, implementationObjectClass, dsVersion, configurableServiceProperties);
}