edu.cuny.cat
Class ClientRegistry

java.lang.Object
  extended by edu.cuny.cat.ClientRegistry
All Implemented Interfaces:
AuctionEventListener
Direct Known Subclasses:
MarketRegistry, TraderRegistry

public abstract class ClientRegistry
extends java.lang.Object
implements AuctionEventListener

A registry for a game client to track shouts, transactions, traders, and specialists in the game.

Version:
$Revision: 1.2 $
Author:
Jinzhong Niu

Field Summary
protected  int day
          game day
protected  java.lang.String id
          the id of the client
protected static org.apache.log4j.Logger logger
           
protected  java.util.Map<java.lang.String,Shout> shouts
          daily shouts.
protected  java.util.SortedMap<java.lang.String,Specialist> specialists
          a mapping of specialist Ids to specialists for the current game.
protected  java.util.SortedMap<java.lang.String,Trader> traders
          a mapping of trader Ids to traders for the current game
protected  java.util.Map<java.lang.String,Transaction> transactions
          daily transactions.
 
Constructor Summary
ClientRegistry()
           
 
Method Summary
 Specialist addSpecialist(java.lang.String id)
           
 Trader addTrader(java.lang.String id, java.lang.String desc, boolean isSeller)
           
 void eventOccurred(AuctionEvent event)
           
 Shout getShout(java.lang.String id)
           
 Specialist getSpecialist(java.lang.String id)
           
 java.util.Collection<java.lang.String> getSpecialistIds()
           
 java.util.Collection<Specialist> getSpecialists()
           
 Trader getTrader(java.lang.String id)
           
 java.util.Collection<java.lang.String> getTraderIds()
           
 java.util.Collection<Trader> getTraders()
           
 Transaction getTransaction(java.lang.String id)
           
 void printStatus()
           
protected  void processDayOpening(DayOpeningEvent event)
           
protected  void processGameStarting(GameStartingEvent event)
           
protected  void processIdAssigned(IdAssignedEvent event)
           
protected  void processRegistration(RegistrationEvent event)
           
protected  void processShoutPlaced(ShoutPlacedEvent event)
           
protected  void processShoutPosted(ShoutPostedEvent event)
           
protected  void processTransactionExecuted(TransactionExecutedEvent event)
           
protected  void processTransactionPosted(TransactionPostedEvent event)
           
protected  void registerTrader(java.lang.String traderId, java.lang.String specialistId)
           
protected  void registerTrader(Trader trader, Specialist specialist)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected static org.apache.log4j.Logger logger

day

protected int day
game day


id

protected java.lang.String id
the id of the client


traders

protected java.util.SortedMap<java.lang.String,Trader> traders
a mapping of trader Ids to traders for the current game


specialists

protected java.util.SortedMap<java.lang.String,Specialist> specialists
a mapping of specialist Ids to specialists for the current game.


shouts

protected java.util.Map<java.lang.String,Shout> shouts
daily shouts.


transactions

protected java.util.Map<java.lang.String,Transaction> transactions
daily transactions.

Constructor Detail

ClientRegistry

public ClientRegistry()
Method Detail

getShout

public Shout getShout(java.lang.String id)

getTransaction

public Transaction getTransaction(java.lang.String id)

addTrader

public Trader addTrader(java.lang.String id,
                        java.lang.String desc,
                        boolean isSeller)

getTrader

public Trader getTrader(java.lang.String id)

getTraders

public java.util.Collection<Trader> getTraders()

getTraderIds

public java.util.Collection<java.lang.String> getTraderIds()

addSpecialist

public Specialist addSpecialist(java.lang.String id)

getSpecialist

public Specialist getSpecialist(java.lang.String id)

getSpecialists

public java.util.Collection<Specialist> getSpecialists()

getSpecialistIds

public java.util.Collection<java.lang.String> getSpecialistIds()

eventOccurred

public void eventOccurred(AuctionEvent event)
Specified by:
eventOccurred in interface AuctionEventListener

processIdAssigned

protected void processIdAssigned(IdAssignedEvent event)

processGameStarting

protected void processGameStarting(GameStartingEvent event)

processDayOpening

protected void processDayOpening(DayOpeningEvent event)

processRegistration

protected void processRegistration(RegistrationEvent event)

registerTrader

protected void registerTrader(java.lang.String traderId,
                              java.lang.String specialistId)

registerTrader

protected void registerTrader(Trader trader,
                              Specialist specialist)

processShoutPlaced

protected void processShoutPlaced(ShoutPlacedEvent event)

processShoutPosted

protected void processShoutPosted(ShoutPostedEvent event)

processTransactionExecuted

protected void processTransactionExecuted(TransactionExecutedEvent event)

processTransactionPosted

protected void processTransactionPosted(TransactionPostedEvent event)

printStatus

public void printStatus()