Class DirectDelegate<A,S>

java.lang.Object
org.gcube.common.clients.delegates.AbstractDelegate<A,S,EndpointConfig<A,S>>
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 Details

    • DirectDelegate

      public DirectDelegate(EndpointConfig<A,S> config)
      Creates an instance with a given configuration.
      Parameters:
      config - the configuration
  • Method Details

    • 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<A>
      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