ip4.ass4.server.tennisinit
Class TennisInit

java.lang.Object
  extended by ip4.ass4.server.tennisinit.TennisInit
All Implemented Interfaces:
java.io.Serializable

public class TennisInit
extends java.lang.Object
implements java.io.Serializable

Ett TennisInit-objekt skapas av TennisServer och skickas till en klient som respons på dennas play-anrop. TennisInit bevakar initieringsförfarandet som krävs för att en klient som vill spela en match får en motståndare och att matchen startas. Vid signifikanta händelser skickas ett TennisInitEvent till de hos TennisInit registrerade TennisInitListener-objekten (t. ex. klienten). Dessa händelser är:

no opponent
för tillfället finns ingen motståndare
opponent found
nu finns det en motståndare, matchen startar om ca. fem sekunder
match start
nu startar matchen

Author:
Henrik Johansson
See Also:
TennisInitListener, TennisInitEvent, Serialized Form

Field Summary
private  java.lang.String id
          id-värdet för den klient som denna instans skapats för
private  java.util.Set<TennisInitListener> listeners
          mängden av registrerade TennisInitListeners
private static int MATCH_START
           
private static int NO_OPPONENT
           
private static int OPPONENT_FOUND
           
private  RITennis server
          servern som denna TennisInit-instans hör till
 
Constructor Summary
TennisInit(java.lang.String id)
          konstruktor
 
Method Summary
 void addTennisInitListener(TennisInitListener listener, RITennis server)
          registrerar en lyssnare som tar emot TennisInitEvent när en signifikant initieringshändelse inträffar (no opponent, opponent found, match start)
private  RITennis getServer()
           
private  void notifyListeners(int type)
          meddelar registrerade TennisInitListeners att en initieringshändelse inträffat
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

id

private java.lang.String id
id-värdet för den klient som denna instans skapats för


listeners

private java.util.Set<TennisInitListener> listeners
mängden av registrerade TennisInitListeners


server

private RITennis server
servern som denna TennisInit-instans hör till


NO_OPPONENT

private static final int NO_OPPONENT
See Also:
Constant Field Values

OPPONENT_FOUND

private static final int OPPONENT_FOUND
See Also:
Constant Field Values

MATCH_START

private static final int MATCH_START
See Also:
Constant Field Values
Constructor Detail

TennisInit

public TennisInit(java.lang.String id)
konstruktor

Parameters:
id - id för klienten som inidirekt ligger bakom att detta objekt skapas
Method Detail

getServer

private RITennis getServer()
Returns:
servern som denna instans hör till.

addTennisInitListener

public void addTennisInitListener(TennisInitListener listener,
                                  RITennis server)
registrerar en lyssnare som tar emot TennisInitEvent när en signifikant initieringshändelse inträffar (no opponent, opponent found, match start)

Parameters:
listener - lyssnaren som skall registreras
server - servern som lyssnaren/klienten är ansluten till

notifyListeners

private void notifyListeners(int type)
meddelar registrerade TennisInitListeners att en initieringshändelse inträffat

Parameters:
type - typ av initieringshändelse (NO_OPPONENT, OPPONENT_FOUND, MATCH_START)