org.licas.call

## Class ClientConnection

- java.lang.Object
- - org.licas.call.ClientConnection

- Direct Known Subclasses:
    ClientConnectionAsync, ClientConnectionBlock

      public abstract class ClientConnection
      extends java.lang.Object

  Base class for a blocking or non-blocking http client connection. If the request requires a reply, then it is blocked, or prevented from releasing its thread, until the reply is returned. If the request does not require a reply, recognised by the `Const`.`VOID` return type in the method, then the request is sent and the method terminates immediately afterwards. If a reply is required, then the call will block all other activity on this thread until it has completed or been timed out.
  Author:
    Kieran Greer

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ClientConnection()` Create a new instance of ClientConnection.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract java.lang.Object` | `execute(MethodInfo methodInfo)` Execute the http asynchronous client request.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ClientConnection

          public ClientConnection()

      Create a new instance of ClientConnection.

  - ### Method Detail

    - #### execute

          public abstract java.lang.Object execute(MethodInfo methodInfo)
                                            throws java.lang.Exception

      Execute the http asynchronous client request. Can block for reply or return immediately.
      Parameters:
        `methodInfo` - the method call description with all of the required information.
      Returns:
        Object the reply to the call.
      Throws:
        `java.lang.Exception` - any error.