## com.rbnb.api
Interface Mirror

    public interface Mirror

Client-side representation of a mirror of data from one RBNB server to another.

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

Field Summary
`static byte` `PULL` pull data from the remote `Server` to the local `Server`.
`static byte` `PUSH` push data from the local `Server` to the remote `Server`.

Method Summary
`Object` `clone()` Clones this object.
`byte` `getDirection()` Gets the direction of the mirror.
`Server` `getRemote()` Gets the remote `Server`.
`DataRequest` `getRequest()` Gets the `DataRequest`.
`Source` `getSource()` Gets the `Source` object that is the destination of the mirrored data.
`void` `setDirection(byte directionI)` Sets the direction of the mirror.
`void` `setRemote(Server remoteI)` Sets the remote `Server`.
`void` `setRequest(DataRequest requestI)` Sets the `DataRequest`.

Field Detail

### PULL

    static final byte PULL

  pull data from the remote `Server` to the local `Server`.

  Since:
    V2.0
  See Also:
    `PUSH`, Constant Field Values
  Author:
    Ian Brown
  Version:
    04/17/2001

### PUSH

    static final byte PUSH

  push data from the local `Server` to the remote `Server`.

  Since:
    V2.0
  See Also:
    `PULL`, Constant Field Values
  Author:
    Ian Brown
  Version:
    04/17/2001

Method Detail

### clone

    Object clone()

  Clones this object.

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

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

### getDirection

    byte getDirection()

  Gets the direction of the mirror.

  Returns:
    the direction of the mirror.
  Since:
    V2.0
  See Also:
    `PULL`, `PUSH`, `setDirection(byte)`
  Author:
    Ian Brown
  Version:
    04/17/2001

### getRemote

    Server getRemote()

  Gets the remote `Server`.

  Returns:
    the remote `Server`.
  Since:
    V2.0
  See Also:
    `setRemote(com.rbnb.api.Server)`
  Author:
    Ian Brown
  Version:
    04/17/2001

### getRequest

    DataRequest getRequest()

  Gets the `DataRequest`.

  Returns:
    the `DataRequest`.
  Since:
    V2.0
  See Also:
    `setRequest(com.rbnb.api.DataRequest)`
  Author:
    Ian Brown
  Version:
    04/17/2001

### getSource

    Source getSource()

  Gets the `Source` object that is the destination of the mirrored data.

  Returns:
    the `Source`.
  Since:
    V2.0
  Author:
    Ian Brown
  Version:
    04/17/2001

### setDirection

    void setDirection(byte directionI)

  Sets the direction of the mirror.

  Parameters:
    `directionI` - the direction of the mirror. This can be one of:
    - `PULL` - get data from the remote `Server`, or
    - `PUSH` - send data to the remote `Server`.
  Since:
    V2.0
  See Also:
    `getDirection()`, `PULL`, `PUSH`
  Author:
    Ian Brown
  Version:
    04/17/2001

### setRemote

    void setRemote(Server remoteI)

  Sets the remote `Server`.

  Parameters:
    `remoteI` - the remote `Server`.
  Since:
    V2.0
  See Also:
    `getRemote()`
  Author:
    Ian Brown
  Version:
    04/17/2001

### setRequest

    void setRequest(DataRequest requestI)

  Sets the `DataRequest`.

  The `DataRequest` must be one that generates data with monotonically increasing time-stamps and must refer to only a single `Source` on a single `Server`.

  Parameters:
    `requestI` - the `DataRequest`.
  Since:
    V2.0
  See Also:
    `getRequest()`
  Author:
    Ian Brown
  Version:
    04/17/2001