## com.rbnb.api
Interface Client

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

All Known Subinterfaces:
  Controller, PlugIn, Sink, Source

All Known Implementing Classes:
  ControllerHandle

    public interface Client

extends ClientInterface

Client-side representation of a client application connection to the RBNB server.

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

Field Summary

Fields inherited from interface com.rbnb.api.ClientInterface
`CLIENT, FOREVER, MIRROR, PLUGIN`

Method Summary
`Object` `clone()` Clones this object.
`boolean` `isSynchronized()` Is this `Client` synchronized with the server?
`void` `start()` Starts this `Client`.
`void` `start(Client clientI)` Starts the specified `Client`.
`void` `start(Shortcut shortcutI)` Starts a shortcut connection.
`void` `stop()` Stops this `Client`.
`void` `stop(Client clientI)` Stops the `Client`.
`void` `stop(Server serverI)` Stops the local <bold>RBNB</bold> server.
`void` `stop(Shortcut shortcutI)` Stops the local `Shortcut`.
`void` `synchronizeWserver()` Synchronizes with the server.

Methods inherited from interface com.rbnb.api.ClientInterface
`getRemoteID, getType, isRunning, setRemoteID, setType, tryReconnect`

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`

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 `ClientInterface`
  Specified by:
    `clone` in interface `RmapInterface`
  Returns:
    the clone.
  Since:
    V2.5
  See Also:
    `Cloneable`
  Author:
    John Wilson
  Version:
    09/29/2004

### isSynchronized

    boolean isSynchronized()

  Is this `Client` synchronized with the server?

  Returns:
    is the client synchronized?
  Since:
    V2.0
  Author:
    Ian Brown
  Version:
    11/12/2002

### start

    void start()
               throws AddressException,
                      SerializeException,
                      EOFException,
                      InterruptedIOException,
                      IOException,
                      InterruptedException

  Starts this `Client`.

  This method ensures that the name of this object and the name of the `Server` that is running this `Client` are set correctly.

  The `Client's` parent `Server` object's name is set equal to the name of the RBNB server that is running the handler for this `Client`.

  The name of the `Client` object is set equal to the name given to the handler in the RBNB server. This name is one of:

  1. the name provided for the `Client` object originally,
  3. the name provided plus the addition of "_#", where # is a unique number within the RBNB server, or
  4. "_#", where # is a unique number within the RBNB server.

  Throws:
    `AddressException` - thrown if there is an addressing problem.
    `SerializeException` - thrown if there is a problem with the serialization.
    `EOFException` - thrown if the end of the input stream is reached.
    `InterruptedIOException` - thrown if this operation is interrupted during I/O.
    `IOException` - thrown if there is an error during I/O.
    `IllegalStateException` - thrown if:

    - the `Client` has not been connected to a server,
    - the `Client` is already running.

    `InterruptedException` - thrown if the start is interrupted.
  Since:
    V2.0
  See Also:
    `stop()`
  Author:
    Ian Brown
  Version:
    10/01/2001

### start

    void start(Client clientI)
               throws AddressException,
                      SerializeException,
                      EOFException,
                      InterruptedIOException,
                      IOException,
                      InterruptedException

  Starts the specified `Client`.

  Parameters:
    `clientI` - the `Client`.
  Throws:
    `AddressException` - thrown if there is an addressing problem.
    `SerializeException` - thrown if there is a problem with the serialization.
    `EOFException` - thrown if the end of the input stream is reached.
    `InterruptedIOException` - thrown if this operation is interrupted during I/O.
    `IOException` - thrown if there is an error during I/O.
    `InterruptedException` - thrown if this operation is interrupted.
  Since:
    V2.0
  See Also:
    `stop(com.rbnb.api.Client)`
  Author:
    Ian Brown
  Version:
    05/11/2001

### start

    void start(Shortcut shortcutI)
               throws AddressException,
                      SerializeException,
                      EOFException,
                      InterruptedIOException,
                      IOException,
                      InterruptedException

  Starts a shortcut connection.

  Parameters:
    `shortcutI` - the `Shortcut`.
  Throws:
    `AddressException` - thrown if there is an addressing problem.
    `SerializeException` - thrown if there is a problem with the serialization.
    `EOFException` - thrown if the end of the input stream is reached.
    `InterruptedIOException` - thrown if this operation is interrupted during I/O.
    `IOException` - thrown if there is an error during I/O.
    `InterruptedException` - thrown if this operation is interrupted.
  Since:
    V2.0
  See Also:
    `stop(com.rbnb.api.Server)`
  Author:
    Ian Brown
  Version:
    01/08/2002

### stop

    void stop()
              throws AddressException,
                     SerializeException,
                     EOFException,
                     InterruptedIOException,
                     IOException,
                     InterruptedException

  Stops this `Client`.

  Throws:
    `AddressException` - thrown if there is an addressing problem.
    `SerializeException` - thrown if there is a problem with the serialization.
    `EOFException` - thrown if the end of the input stream is reached.
    `java.lang.InterruptedIOException` - thrown if this operation is interrupted.
    `IOException` - thrown if there is an error during I/O.
    `IllegalStateException` - thrown if:

    - the `Client` has not been connected to a server,
    - the `Client` is already running.

    `InterruptedIOException`
    `InterruptedException`
  Since:
    V2.0
  See Also:
    `start()`
  Author:
    Ian Brown
  Version:
    05/15/2001

### stop

    void stop(Client clientI)
              throws AddressException,
                     SerializeException,
                     InterruptedIOException,
                     IOException,
                     InterruptedException

  Stops the `Client`.

  Parameters:
    `clientI` - the `Client`.
  Throws:
    `AddressException` - thrown if there is an addressing problem.
    `SerializeException` - thrown if there is a problem with the `Serialization`.
    `java.lang.InterruptedIOException` - thrown if this operation is interrupted.
    `IOException` - thrown if there is a I/O problem.
    `InterruptedException` - thrown if this operation is interrupted.
    `InterruptedIOException`
  Since:
    V2.0
  See Also:
    `start(com.rbnb.api.Client)`
  Author:
    Ian Brown
  Version:
    05/11/2001

### stop

    void stop(Server serverI)
              throws AddressException,
                     SerializeException,
                     InterruptedIOException,
                     IOException,
                     InterruptedException

  Stops the local <bold>RBNB</bold> server.

  Parameters:
    `serverI` - the `Server`.
  Throws:
    `AddressException` - thrown if there is an addressing problem.
    `SerializeException` - thrown if there is a problem with the `Serialization`.
    `java.lang.InterruptedIOException` - thrown if this operation is interrupted.
    `IOException` - thrown if there is a I/O problem.
    `InterruptedException` - thrown if this operation is interrupted.
    `InterruptedIOException`
  Since:
    V2.0
  Author:
    Ian Brown
  Version:
    01/08/2002

### stop

    void stop(Shortcut shortcutI)
              throws AddressException,
                     SerializeException,
                     InterruptedIOException,
                     IOException,
                     InterruptedException

  Stops the local `Shortcut`.

  Parameters:
    `shortcutI` - the `Shortcut`.
  Throws:
    `AddressException` - thrown if there is an addressing problem.
    `SerializeException` - thrown if there is a problem with the `Serialization`.
    `java.lang.InterruptedIOException` - thrown if this operation is interrupted.
    `IOException` - thrown if there is a I/O problem.
    `InterruptedException` - thrown if this operation is interrupted.
    `InterruptedIOException`
  Since:
    V2.0
  Author:
    Ian Brown
  Version:
    01/08/2002

### synchronizeWserver

    void synchronizeWserver()
                            throws AddressException,
                                   SerializeException,
                                   InterruptedIOException,
                                   IOException,
                                   InterruptedException

  Synchronizes with the server.

  Throws:
    `AddressException` - thrown if there is a problem with an address.
    `SerializeException` - thrown if there is a problem with the `Serialization`.
    `IOException` - thrown if there is a I/O problem.
    `InterruptedException` - thrown if this operation is interrupted.
    `IllegalStateException` - thrown if:

    - the `Client` has not been connected to a server,
    - the `Client` is not running.

    `InterruptedException` - thrown if the synchronization is interrupted.
    `InterruptedIOException`
  Since:
    V2.0
  Author:
    Ian Brown
  Version:
    05/09/2001