Package org.astrogrid.samp.xmlrpc.apache

# Class ApacheClient

java.lang.Object
org.astrogrid.samp.xmlrpc.apache.ApacheClient

All Implemented Interfaces:
  `SampXmlRpcClient`

public class ApacheClient extends Object implements SampXmlRpcClient
SampXmlRpcClient implementation based on Apache XMLRPC classes.

Since:
  16 Sep 2008
Author:
  Mark Taylor

## Constructor Summary

Constructors
Constructor
Description
`ApacheClient(XmlRpcClient xmlrpcClient)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`void`
`callAndForget(String method, List params)`
Sends a call, but does not wait around for the response.
`Object`
`callAndWait(String method, List params)`
Makes a synchronous call, waiting for the response and returning the result.

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

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

## Constructor Details

### ApacheClient

public ApacheClient(XmlRpcClient xmlrpcClient)
Constructor.

Parameters:
  `xmlrpcClient` - Apache XML-RPC client instance

## Method Details

### callAndWait

public Object callAndWait(String method, List params) throws IOException
Description copied from interface: `SampXmlRpcClient`
Makes a synchronous call, waiting for the response and returning the result.

Specified by:
  `callAndWait` in interface `SampXmlRpcClient`
Parameters:
  `method` - XML-RPC method name
  `params` - parameters for XML-RPC call (SAMP-compatible)
Returns:
  XML-RPC call return value (SAMP-compatible)
Throws:
  `IOException`

### callAndForget

public void callAndForget(String method, List params) throws IOException
Description copied from interface: `SampXmlRpcClient`
Sends a call, but does not wait around for the response. If possible, this method should complete quickly.

NOTE: it seems to be difficult to implement this method in a way which is faster than `SampXmlRpcClient.callAndWait(java.lang.String, java.util.List)` but does not cause problems elsewhere (incomplete HTTP responses). It is probably a good idea to avoid using it if possible.

Specified by:
  `callAndForget` in interface `SampXmlRpcClient`
Parameters:
  `method` - XML-RPC method name
  `params` - parameters for XML-RPC call (SAMP-compatible)
Throws:
  `IOException`