Package org.acplt.oncrpc

# Class OncRpcClientStub

java.lang.Object
org.acplt.oncrpc.OncRpcClientStub

public abstract class OncRpcClientStub extends Object
The abstract `OncRpcClientStub` class is the base class to build ONC/RPC-program specific clients upon. This class is typically only used by jrpcgen generated clients, which provide a particular set of remote procedures as defined in a x-file.

When you do not need the client proxy object any longer, you should return the resources it occupies to the system. Use the `close()` method for this.

     client.close();
     client = null; // Hint to the garbage (wo)man

Version:
  $Revision: 1.1 $ $Date: 2003/08/13 12:03:44 $ $State: Exp $ $Locker: $
Author:
  Harald Albrecht
See Also:
  - `OncRpcTcpClient`
  - `OncRpcUdpClient`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected OncRpcClient`
`client`
The real ONC/RPC client which is responsible for handling a particular IP protocol.

## Constructor Summary

Constructors
Constructor
Description
`OncRpcClientStub(InetAddress host, int program, int version, int port, int protocol)`
Construct a new `OncRpcClientStub` for communication with a remote ONC/RPC server.
`OncRpcClientStub(OncRpcClient client)`
Construct a new `OncRpcClientStub` which uses the given client proxy object for communication with a remote ONC/RPC server.

## Method Summary

Modifier and Type
Method
Description
`void`
`close()`
Close the connection to an ONC/RPC server and free all network-related resources.
`OncRpcClient`
`getClient()`
Returns ONC/RPC client proxy object used for communication with a remote ONC/RPC server.
`void`
`nullproc()`
Calls the "null procedure", which should always be provided by a remote ONC/RPC server.
`void`
`setClient(OncRpcClient client)`
Sets a new ONC/RPC client proxy, which will be used for future communication with a remote ONC/RPC server.

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

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

## Field Details

### client

protected OncRpcClient client
The real ONC/RPC client which is responsible for handling a particular IP protocol.

## Constructor Details

### OncRpcClientStub

public OncRpcClientStub(InetAddress host, int program, int version, int port, int protocol) throws OncRpcException, IOException
Construct a new `OncRpcClientStub` for communication with a remote ONC/RPC server.

Parameters:
  `host` - Host address where the desired ONC/RPC server resides.
  `program` - Program number of the desired ONC/RPC server.
  `version` - Version number of the desired ONC/RPC server.
  `port` - port number at which the ONC/RPC server is listening for interested clients.
  `protocol` - `Protocol` to be used for ONC/RPC calls. This information is necessary, so port lookups through the portmapper can be done.
Throws:
  `OncRpcException` - if an ONC/RPC error occurs.
  `IOException` - if an I/O error occurs.

### OncRpcClientStub

public OncRpcClientStub(OncRpcClient client) throws OncRpcException, IOException
Construct a new `OncRpcClientStub` which uses the given client proxy object for communication with a remote ONC/RPC server.

Parameters:
  `client` - ONC/RPC client proxy object implementing a particular IP protocol.
Throws:
  `OncRpcException` - if an ONC/RPC error occurs.
  `IOException` - if an I/O error occurs.

## Method Details

### close

public void close() throws OncRpcException
Close the connection to an ONC/RPC server and free all network-related resources. Well -- at least hope, that the Java VM will sometimes free some resources. Sigh.

Throws:
  `OncRpcException` - if an ONC/RPC error occurs.

### nullproc

public void nullproc() throws OncRpcException
Calls the "null procedure", which should always be provided by a remote ONC/RPC server.

Throws:
  `OncRpcException` - if an ONC/RPC error occurs or the client stub does not have a client proxy to use for the call.

### getClient

public OncRpcClient getClient()
Returns ONC/RPC client proxy object used for communication with a remote ONC/RPC server.

Returns:
  ONC/RPC client proxy.

### setClient

public void setClient(OncRpcClient client)
Sets a new ONC/RPC client proxy, which will be used for future communication with a remote ONC/RPC server.

Parameters:
  `client` - Passing null has the same effect as calling method `close()` on this object. Passing the same client proxy will not have any effect. Otherwise the actual client proxy will be closed and the passed client proxy will be set.