Class InternalClient
- java.lang.Object
-
- org.astrogrid.samp.xmlrpc.internal.InternalClient
-
- All Implemented Interfaces:
SampXmlRpcClient
- Direct Known Subclasses:
RpcLoggingInternalClient,XmlLoggingInternalClient
public class InternalClient extends java.lang.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 Summary
Constructors Constructor Description InternalClient(java.net.URL endpoint)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcallAndForget(java.lang.String method, java.util.List params)Sends a call, but does not wait around for the response.java.lang.ObjectcallAndWait(java.lang.String method, java.util.List params)Makes a synchronous call, waiting for the response and returning the result.protected java.lang.ObjectdeserializeResponse(java.io.InputStream in)Deserializes an XML-RPCmethodResponsedocument to a Java object.protected byte[]serializeCall(java.lang.String method, java.util.List paramList)Generates the XMLmethodCalldocument corresponding to an XML-RPC method call.
-
-
-
Method Detail
-
callAndWait
public java.lang.Object callAndWait(java.lang.String method, java.util.List params) throws java.io.IOExceptionDescription copied from interface:SampXmlRpcClientMakes a synchronous call, waiting for the response and returning the result.- Specified by:
callAndWaitin interfaceSampXmlRpcClient- Parameters:
method- XML-RPC method nameparams- parameters for XML-RPC call (SAMP-compatible)- Returns:
- XML-RPC call return value (SAMP-compatible)
- Throws:
java.io.IOException
-
callAndForget
public void callAndForget(java.lang.String method, java.util.List params) throws java.io.IOExceptionDescription copied from interface:SampXmlRpcClientSends 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:
callAndForgetin interfaceSampXmlRpcClient- Parameters:
method- XML-RPC method nameparams- parameters for XML-RPC call (SAMP-compatible)- Throws:
java.io.IOException
-
serializeCall
protected byte[] serializeCall(java.lang.String method, java.util.List paramList) throws java.io.IOExceptionGenerates the XMLmethodCalldocument corresponding to an XML-RPC method call.- Parameters:
method- methodName stringparamList- list of XML-RPC parameters- Returns:
- XML document as byte array
- Throws:
java.io.IOException
-
deserializeResponse
protected java.lang.Object deserializeResponse(java.io.InputStream in) throws java.io.IOExceptionDeserializes an XML-RPCmethodResponsedocument to a Java object.- Parameters:
in- input stream containing response document- Throws:
java.io.IOException
-
-