ip4.ass4.server
Interface RITennis

All Superinterfaces:
java.rmi.Remote
All Known Implementing Classes:
TennisServer

public interface RITennis
extends java.rmi.Remote

Remote interface för Tennisservern.

Author:
Henrik Johansson

Method Summary
 int[] getGameData(java.lang.String id)
          Returnerar info om var spelare och boll befinner sig i den match som spelaren identifierad av id deltager i.
 java.lang.String getSide(java.lang.String id)
          Anropas av den klient som vill veta om hon spelar på vänster eller höger sida av planen
 boolean isMatchStarted(java.lang.String id)
          Anropas av TessisInit för att få veta om match har startat med klient identifierad av id involverad.
 boolean isOpponentFound(java.lang.String id)
          Anropas av TennisInit för att få veta om klienten identifierad med id har någon match på gång.
 TennisInit play()
          Anropas av den klient som vill spela en match.
 void playerMovement(java.lang.String id, int[] movement)
          Anropas av klienten för att berätta att klienten ändrat rörelsen på racket.
 void stop(java.lang.String id)
          Anropas av klient som avslutar ett spel, eller inte längre vill stå i kö för spel.
 

Method Detail

play

TennisInit play()
                throws java.rmi.RemoteException
Anropas av den klient som vill spela en match. Returnerar en TennisInit som sköter resten av initieringen. För att detta skall fungera skall klienten implementera TennisInitListener samt anmäla sig själv till den returnerade TennisInit-instansen som lyssnare.

Returns:
instans av TennisInit
Throws:
java.rmi.RemoteException

stop

void stop(java.lang.String id)
          throws java.rmi.RemoteException
Anropas av klient som avslutar ett spel, eller inte längre vill stå i kö för spel.

Parameters:
id - identifierar klientenc
Throws:
java.rmi.RemoteException

isOpponentFound

boolean isOpponentFound(java.lang.String id)
                        throws java.rmi.RemoteException
Anropas av TennisInit för att få veta om klienten identifierad med id har någon match på gång.

Parameters:
id - identifierar klienten
Returns:
Throws:
java.rmi.RemoteException

isMatchStarted

boolean isMatchStarted(java.lang.String id)
                       throws java.rmi.RemoteException
Anropas av TessisInit för att få veta om match har startat med klient identifierad av id involverad.

Parameters:
id - identifierar klienten
Returns:
Throws:
java.rmi.RemoteException

playerMovement

void playerMovement(java.lang.String id,
                    int[] movement)
                    throws java.rmi.RemoteException
Anropas av klienten för att berätta att klienten ändrat rörelsen på racket.

Parameters:
id - identifierar klienten
movement - [dx, dy] Möjliga värden är -1, 0 eller 1
Throws:
java.rmi.RemoteException

getGameData

int[] getGameData(java.lang.String id)
                  throws java.rmi.RemoteException,
                         TennisGameException
Returnerar info om var spelare och boll befinner sig i den match som spelaren identifierad av id deltager i.

Parameters:
id - identifierar klienten
Returns:
Throws:
java.rmi.RemoteException
TennisGameException - om opponenten avslutat matchen.

getSide

java.lang.String getSide(java.lang.String id)
                         throws java.rmi.RemoteException
Anropas av den klient som vill veta om hon spelar på vänster eller höger sida av planen

Parameters:
id - identifierar klienten
Returns:
String med texten "left" eller "right"
Throws:
java.rmi.RemoteException