Class RemoteServiceImpl
- java.lang.Object
-
- org.eclipse.ecf.remoteservice.asyncproxy.AbstractAsyncProxyRemoteService
-
- org.eclipse.ecf.remoteservice.AbstractRemoteService
-
- org.eclipse.ecf.provider.remoteservice.generic.RemoteServiceImpl
-
- All Implemented Interfaces:
InvocationHandler
,IRemoteService
public class RemoteServiceImpl extends AbstractRemoteService
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.ecf.remoteservice.AbstractRemoteService
AbstractRemoteService.AsyncArgs, AbstractRemoteService.ProxyClassLoader
-
-
Field Summary
Fields Modifier and Type Field Description protected static long
DEFAULT_TIMEOUT
protected RemoteServiceRegistrationImpl
registration
protected RegistrySharedObject
sharedObject
-
Fields inherited from class org.eclipse.ecf.remoteservice.AbstractRemoteService
EMPTY_ARGS, futureExecutorService, futureExecutorServiceMaxThreads, iFutureExecutor
-
-
Constructor Summary
Constructors Constructor Description RemoteServiceImpl(RegistrySharedObject sharedObject, RemoteServiceRegistrationImpl registration)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
callAsync(IRemoteCall call, IRemoteCallListener listener)
Call remote method specified by call parameter asynchronously, and notify specified listener when call starts and completes.Object
callSync(IRemoteCall call)
Call remote method specified by call parameter synchronously.protected Object
createProxy(ClassLoader cl, Class[] classes)
void
fireAsync(IRemoteCall call)
Fire remote method specified by call parameter.protected String[]
getInterfaceClassNames()
protected IRemoteServiceID
getRemoteServiceID()
protected IRemoteServiceReference
getRemoteServiceReference()
-
Methods inherited from class org.eclipse.ecf.remoteservice.AbstractRemoteService
addAsyncProxyClasses, addRemoteServiceProxyToProxy, callAsync, callAsync, callAsync, callAsyncWithResult, callAsyncWithTimeout, callAsyncWithTimeout, callCompletableAsync, callFutureAsync, callFutureAsync, callSync, convertInterfaceNameToAsyncInterfaceName, createProxy, createRCCE, createRCCEFailure, createRCCESuccess, createRemoteCall, dispose, findAsyncRemoteServiceProxyClass, findAsyncRemoteServiceProxyClass, getAsyncArgs, getAsyncInvokeMethodName, getAsyncRemoteCall, getCallMethodNameForProxyInvoke, getCallParametersForProxyInvoke, getCallTimeoutForProxyInvoke, getDefaultTimeout, getFutureExecutorService, getIFutureExecutor, getProxy, getProxy, getRemoteService, getRemoteServiceProxyCreator, handleInvokeSyncException, handleProxyException, invoke, invokeAsync, invokeObject, invokeReturnAsync, invokeSync, isAsync, isInterfaceAsync, isMethodAsync, isOSGIAsync, loadInterfaceClass, loadInterfaceClass, logWarning, setFutureExecutorService, setIFutureExecutor
-
Methods inherited from class org.eclipse.ecf.remoteservice.asyncproxy.AbstractAsyncProxyRemoteService
callFuture, isReturnAsync
-
-
-
-
Field Detail
-
DEFAULT_TIMEOUT
protected static final long DEFAULT_TIMEOUT
-
registration
protected RemoteServiceRegistrationImpl registration
-
sharedObject
protected RegistrySharedObject sharedObject
-
-
Constructor Detail
-
RemoteServiceImpl
public RemoteServiceImpl(RegistrySharedObject sharedObject, RemoteServiceRegistrationImpl registration)
-
-
Method Detail
-
getRemoteServiceID
protected IRemoteServiceID getRemoteServiceID()
- Specified by:
getRemoteServiceID
in classAbstractRemoteService
-
getRemoteServiceReference
protected IRemoteServiceReference getRemoteServiceReference()
- Specified by:
getRemoteServiceReference
in classAbstractRemoteService
-
getInterfaceClassNames
protected String[] getInterfaceClassNames()
- Specified by:
getInterfaceClassNames
in classAbstractRemoteService
-
callAsync
public void callAsync(IRemoteCall call, IRemoteCallListener listener)
Description copied from interface:IRemoteService
Call remote method specified by call parameter asynchronously, and notify specified listener when call starts and completes.- Parameters:
call
- the remote call to make. Must not benull
.listener
- the listener to notify when call starts and is completed. The listener will be notified via the two event types IRemoteCallStartEvent and IRemoteCallCompleteEvent. Must not benull
.- Since:
- 3.0
- See Also:
IRemoteService.callAsync(org.eclipse.ecf.remoteservice.IRemoteCall, org.eclipse.ecf.remoteservice.IRemoteCallListener)
-
callSync
public Object callSync(IRemoteCall call) throws ECFException
Description copied from interface:IRemoteService
Call remote method specified by call parameter synchronously.- Parameters:
call
- the remote call to make- Returns:
- Object the result of the call. Will be
null
if remote providesnull
as result. - Throws:
ECFException
- thrown if disconnect occurs, caller not currently connected, or remote throws Exception- Since:
- 3.0
- See Also:
IRemoteService.callSync(org.eclipse.ecf.remoteservice.IRemoteCall)
-
fireAsync
public void fireAsync(IRemoteCall call) throws ECFException
Description copied from interface:IRemoteService
Fire remote method specified by call parameter. The remote method will be invoked as a result of asynchronous message send, but no failure/exception information will be returned, and no result will be returned- Parameters:
call
- the remote call to make. Must not benull
.- Throws:
ECFException
- if caller not currently connected- Since:
- 3.0
- See Also:
IRemoteService.fireAsync(org.eclipse.ecf.remoteservice.IRemoteCall)
-
createProxy
protected Object createProxy(ClassLoader cl, Class[] classes)
- Overrides:
createProxy
in classAbstractRemoteService
- Parameters:
cl
- ClassLoader for proxy creationclasses
- the Class[] for proxy classes- Returns:
- Object the proxy implementing the given Class[]
-
-