org.gcube.common.clients.delegates
Class DirectDelegate<A,S>

java.lang.Object
  extended by org.gcube.common.clients.delegates.AbstractDelegate<A,S,EndpointConfig<A,S>>
      extended by org.gcube.common.clients.delegates.DirectDelegate<A,S>
Type Parameters:
A - the of service addresses
S - the type of service proxies
All Implemented Interfaces:
ProxyDelegate<S>

public final class DirectDelegate<A,S>
extends AbstractDelegate<A,S,EndpointConfig<A,S>>
implements ProxyDelegate<S>

A ProxyDelegate that sends Calls to service endpoints at known addresses.

This is a no-op ProxyDelegate, i.e. it executes the Call interface and converts its faults. It exists to support uniform programming against the ProxyDelegate interface.

Author:
Fabio Simeoni

Constructor Summary
DirectDelegate(EndpointConfig<A,S> config)
          Creates an instance with a ProxyPlugin and an endpoint address.
 
Method Summary
<V> V
make(Call<S,V> call)
          Makes a Call to a given service endpoint.
 
Methods inherited from class org.gcube.common.clients.delegates.AbstractDelegate
config, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.gcube.common.clients.delegates.ProxyDelegate
config
 

Constructor Detail

DirectDelegate

public DirectDelegate(EndpointConfig<A,S> config)
Creates an instance with a ProxyPlugin and an endpoint address.

Parameters:
plugin - the plugin
address - the address
Method Detail

make

public <V> V make(Call<S,V> call)
       throws Exception
Description copied from interface: ProxyDelegate
Makes a Call to a given service endpoint.

Specified by:
make in interface ProxyDelegate<S>
Type Parameters:
V - the type of the value returned from the call
Parameters:
call - the call
Returns:
the value returned from the call
Throws:
Exception - if the call fails


Copyright © 2013. All Rights Reserved.