summaryrefslogtreecommitdiffstats
path: root/sandbox/event/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationInvoker.java
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/event/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationInvoker.java')
-rw-r--r--sandbox/event/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationInvoker.java12
1 files changed, 12 insertions, 0 deletions
diff --git a/sandbox/event/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationInvoker.java b/sandbox/event/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationInvoker.java
index 25d538cff4..c6d288e7fd 100644
--- a/sandbox/event/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationInvoker.java
+++ b/sandbox/event/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationInvoker.java
@@ -21,6 +21,7 @@ package org.apache.tuscany.sca.implementation.java.invocation;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
+import org.apache.tuscany.sca.assembly.Consumer;
import org.apache.tuscany.sca.core.context.InstanceWrapper;
import org.apache.tuscany.sca.core.scope.Scope;
import org.apache.tuscany.sca.core.scope.ScopeContainer;
@@ -48,10 +49,21 @@ public class JavaImplementationInvoker implements Invoker, DataExchangeSemantics
protected Operation operation;
protected Method method;
protected boolean allowsPBR;
+ protected Consumer consumer = null;
@SuppressWarnings("unchecked")
protected final ScopeContainer scopeContainer;
+ public JavaImplementationInvoker(Operation operation, Method method,
+ RuntimeComponent component, Consumer consumer) {
+ assert method != null : "Operation method cannot be null";
+ this.method = method;
+ this.operation = operation;
+ this.scopeContainer = ((ScopedRuntimeComponent)component).getScopeContainer();
+ this.allowsPBR = ((JavaImplementation)component.getImplementation()).isAllowsPassByReference(method);
+ this.consumer = consumer;
+ }
+
public JavaImplementationInvoker(Operation operation, Method method, RuntimeComponent component) {
assert method != null : "Operation method cannot be null";
this.method = method;