summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCAServiceBindingProvider.java
diff options
context:
space:
mode:
authorslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2011-07-11 10:54:38 +0000
committerslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2011-07-11 10:54:38 +0000
commitdbf4d8905d3dcee44dc2d54270a5979560ce7f37 (patch)
treea84449b62a3cc19b988bc688b29ae3eae19ede43 /sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCAServiceBindingProvider.java
parentf7e7402c450c81c4ca5a58adb7b3603db94a44f5 (diff)
TUSCANY-3884 - Convert the default binding to delegate for local calls as well as remote calls. Means that the binding is more consistent in it's layout and the delegation selection logic is more cleanly separated from the code that handles passing messages.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1145118 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCAServiceBindingProvider.java')
-rw-r--r--sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCAServiceBindingProvider.java52
1 files changed, 52 insertions, 0 deletions
diff --git a/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCAServiceBindingProvider.java b/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCAServiceBindingProvider.java
new file mode 100644
index 0000000000..760b92cfa4
--- /dev/null
+++ b/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCAServiceBindingProvider.java
@@ -0,0 +1,52 @@
+package org.apache.tuscany.sca.binding.local;
+
+import org.apache.tuscany.sca.binding.sca.provider.SCABindingAsyncResponseInvoker;
+import org.apache.tuscany.sca.interfacedef.InterfaceContract;
+import org.apache.tuscany.sca.invocation.InvokerAsyncResponse;
+import org.apache.tuscany.sca.provider.EndpointAsyncProvider;
+import org.apache.tuscany.sca.provider.SCABindingMapper;
+import org.apache.tuscany.sca.runtime.RuntimeEndpoint;
+
+public class LocalSCAServiceBindingProvider implements EndpointAsyncProvider {
+ private RuntimeEndpoint endpoint;
+
+ public LocalSCAServiceBindingProvider(RuntimeEndpoint endpoint, SCABindingMapper scaBindingMapper) {
+ this.endpoint = endpoint;
+ }
+
+ @Override
+ public InterfaceContract getBindingInterfaceContract() {
+ return endpoint.getComponentTypeServiceInterfaceContract();
+ }
+
+ @Override
+ public InvokerAsyncResponse createAsyncResponseInvoker() {
+ return new SCABindingAsyncResponseInvoker(null, null);
+ }
+
+ @Override
+ public boolean supportsOneWayInvocation() {
+ // Default for Local invocation
+ return false;
+ }
+
+ @Override
+ public boolean supportsNativeAsync() {
+ return true;
+ }
+
+ @Override
+ public void stop() {
+ // Nothing required for local invocation
+ }
+
+ @Override
+ public void start() {
+ // Nothing required for local invocation
+ }
+
+ @Override
+ public void configure() {
+ // Nothing required for local invocation
+ }
+}