summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/branches/2.0-Beta3/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCAServiceBindingProvider.java
diff options
context:
space:
mode:
Diffstat (limited to 'sca-java-2.x/branches/2.0-Beta3/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCAServiceBindingProvider.java')
-rw-r--r--sca-java-2.x/branches/2.0-Beta3/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCAServiceBindingProvider.java55
1 files changed, 55 insertions, 0 deletions
diff --git a/sca-java-2.x/branches/2.0-Beta3/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCAServiceBindingProvider.java b/sca-java-2.x/branches/2.0-Beta3/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCAServiceBindingProvider.java
new file mode 100644
index 0000000000..9c08cf6a48
--- /dev/null
+++ b/sca-java-2.x/branches/2.0-Beta3/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCAServiceBindingProvider.java
@@ -0,0 +1,55 @@
+package org.apache.tuscany.sca.binding.local;
+
+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;
+
+/*
+ * This service side binding provide doesn't actually serve much purpose as the
+ * local optimization skips over it.
+ */
+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 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
+ }
+}