Class InternalClient

java.lang.Object
org.astrogrid.samp.xmlrpc.internal.InternalClient
All Implemented Interfaces:
SampXmlRpcClient
Direct Known Subclasses:
RpcLoggingInternalClient, XmlLoggingInternalClient

public class InternalClient extends Object implements SampXmlRpcClient
XML-RPC client implementation suitable for use with SAMP. This implementation is completely freestanding and requires no other libraries.
Since:
26 Aug 2008
Author:
Mark Taylor
  • Constructor Details

    • InternalClient

      public InternalClient(URL endpoint)
      Constructor.
      Parameters:
      endpoint - endpoint
  • 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
    • serializeCall

      protected byte[] serializeCall(String method, List paramList) throws IOException
      Generates the XML methodCall document corresponding to an XML-RPC method call.
      Parameters:
      method - methodName string
      paramList - list of XML-RPC parameters
      Returns:
      XML document as byte array
      Throws:
      IOException
    • deserializeResponse

      protected Object deserializeResponse(InputStream in) throws IOException
      Deserializes an XML-RPC methodResponse document to a Java object.
      Parameters:
      in - input stream containing response document
      Throws:
      IOException