## com.rbnb.api
Interface ClientInterface

All Superinterfaces:
  Cloneable, RegisteredInterface, RmapInterface, Serializable, UsernameInterface

All Known Subinterfaces:
  Client, Controller, com.rbnb.api.ControllerInterface, PlugIn, PlugInInterface, Sink, SinkInterface, Source, SourceInterface

All Known Implementing Classes:
  ControllerHandle

    public interface ClientInterface

extends RegisteredInterface, RmapInterface, UsernameInterface

Common representation of a client application connection to an <bold>RBNB</bold> server.

Since:
  V2.0
Author:
  Ian Brown
Version:
  09/29/2004

Field Summary
`static byte` `CLIENT` general-purpose client connection.
`static long` `FOREVER` wait until a response appears (block forever).
`static byte` `MIRROR` mirror connection.
`static byte` `PLUGIN` plug-in connection.

Method Summary
`Object` `clone()` Clones this object.
`String` `getRemoteID()` Gets the remote identification.
`byte` `getType()` Gets the type of client connection.
`boolean` `isRunning()` Is this `ClientInterface` running?
`void` `setRemoteID(String remoteIDI)` Sets the remote identification.
`void` `setType(byte typeI)` Sets the type of client connection.
`boolean` `tryReconnect()` Try to reconnect to an existing `ClientHandler`?

Methods inherited from interface com.rbnb.api.RegisteredInterface
`getRegistered`

Methods inherited from interface com.rbnb.api.RmapInterface
`addChild, compareNames, compareNames, compareTo, findChild, findDescendant, getFullName, getName, getParent, removeChild, removeChildAt, setName, toString, toString`

Methods inherited from interface com.rbnb.api.UsernameInterface
`getUsername, setUsername`

Field Detail

### CLIENT

    static final byte CLIENT

  general-purpose client connection.

  Since:
    V2.0
  See Also:
    `MIRROR`, `PLUGIN`, Constant Field Values
  Author:
    Ian Brown
  Version:
    06/01/2001

### MIRROR

    static final byte MIRROR

  mirror connection.

  Since:
    V2.0
  See Also:
    `CLIENT`, `PLUGIN`, Constant Field Values
  Author:
    Ian Brown
  Version:
    06/01/2001

### PLUGIN

    static final byte PLUGIN

  plug-in connection.

  Since:
    V2.0
  See Also:
    `CLIENT`, `MIRROR`, Constant Field Values
  Author:
    Ian Brown
  Version:
    06/01/2001

### FOREVER

    static final long FOREVER

  wait until a response appears (block forever).

  Since:
    V2.0
  See Also:
    Constant Field Values
  Author:
    Ian Brown
  Version:
    05/09/2001

Method Detail

### clone

    Object clone()

  Clones this object.

  This same abstract declaration is also included in RmapInterface.java, but for some unknown reason J# gives a compiler error if it is not also included here.

  Specified by:
    `clone` in interface `RmapInterface`
  Returns:
    the clone.
  Since:
    V2.5
  See Also:
    `Cloneable`
  Author:
    John Wilson
  Version:
    09/29/2004

### getRemoteID

    String getRemoteID()

  Gets the remote identification.

  Returns:
    the remote identification.
  Since:
    V2.0
  See Also:
    `setRemoteID(String)`
  Author:
    Ian Brown
  Version:
    06/01/2001

### getType

    byte getType()

  Gets the type of client connection.

  Returns:
    the client type.
  Since:
    V2.0
  See Also:
    `CLIENT`, `MIRROR`, `PLUGIN`, `setType(byte)`
  Author:
    Ian Brown
  Version:
    06/01/2001

### isRunning

    boolean isRunning()
                      throws AddressException,
                             SerializeException,
                             EOFException,
                             IOException,
                             InterruptedException

  Is this `ClientInterface` running?

  Returns:
    is this `Client` running?
  Throws:
    `AddressException` - thrown if there is a problem with an address.
    `SerializeException` - thrown if there is a problem with the serialization.
    `EOFException` - thrown if the end of the input stream is reached.
    `IOException` - thrown if there is an error during I/O.
    `IllegalStateException` - thrown if the `Client` is in a bad state.
    `InterruptedException` - thrown if the check is interrupted.
  Since:
    V2.0
  Author:
    Ian Brown
  Version:
    05/09/2001

### setRemoteID

    void setRemoteID(String remoteIDI)

  Sets the remote identification.

  The remote identification specifies the fully-qualified name of the remote RBNB object with which this RBNB object is communicating, if any.

  Parameters:
    `remoteIDI` - the remote identification.
  Since:
    V2.0
  See Also:
    `getRemoteID()`
  Author:
    Ian Brown
  Version:
    06/01/2001

### setType

    void setType(byte typeI)

  Sets the type of client connection.

  Parameters:
    `typeI` - the type of client connection.
  Since:
    V2.0
  See Also:
    `CLIENT`, `getType()`, `MIRROR`, `PLUGIN`
  Author:
    Ian Brown
  Version:
    06/01/2001

### tryReconnect

    boolean tryReconnect()

  Try to reconnect to an existing `ClientHandler`?

  If this method returns `true`, then the server will look for an existing `ClientHandler` when the client represented by the `ClientInterface` logs in. If a match is found, then the server will try to reconnect to that existing handler rather than start a new one.

  Returns:
    try to reconnect?
  Since:
    V2.1
  Author:
    Ian Brown
  Version:
    04/17/2003