edu.cuny.cat
Class MarketRegistry

java.lang.Object
  extended by edu.cuny.cat.ClientRegistry
      extended by edu.cuny.cat.MarketRegistry
All Implemented Interfaces:
AuctionEventListener

public class MarketRegistry
extends ClientRegistry

A registry for a market client, which extends ClientRegistry, and tracks and provides additional information for decision making in the market.

Version:
$Revision: 1.88 $
Author:
Jinzhong Niu

Field Summary
protected  java.util.Set<java.lang.String> activeSpecialistIdSet
          active specialist on the current day
protected  int entitlement
          estimate of the entitlement of a trader each day
protected  double glCEMaxPrice
           
protected  double glCEMidPrice
           
protected  double glCEMinPrice
           
protected  FourHeapShoutEngine globalShoutEngine
           
protected  int numOfActiveTraders
           
protected  int numOfBuyersInMarketDaily
           
protected  int numOfMobileTraders
          number of traders changing market within the last two consecutive days
protected  int numOfSellersInMarketDaily
           
protected  int numOfStationaryTraders
          number of traders staying in a same market in the last two consecutive days
protected  int numOfTracedTraders
          number of traders that are traced on the current day
protected  java.util.Map<java.lang.String,java.lang.Double> specialistBalances
           
 
Fields inherited from class edu.cuny.cat.ClientRegistry
day, id, shouts, specialists, traders, transactions
 
Constructor Summary
MarketRegistry()
           
 
Method Summary
 Specialist addSpecialist(java.lang.String id)
           
 Trader addTrader(java.lang.String id, java.lang.String desc, boolean isSeller)
           
 void eventOccurred(AuctionEvent event)
           
 java.lang.String[] getActiveOpponentIds()
           
 double getGlCEMaxPrice()
           
 double getGlCEMidPrice()
           
 double getGlCEMinPrice()
           
 ExtendedSpecialistInfo getMyInfo()
           
 int getNumOfActiveSpecialists()
           
 int getNumOfActiveTraders()
           
 int getNumOfBuyersInMarketDaily()
           
 int getNumOfSellersInMarketDaily()
           
 int getNumOfTracedTraders()
           
 SpecialistInfo getSpecialistInfo(java.lang.String id)
           
 int getTraderEntitlement()
           
 TraderInfo getTraderInfo(java.lang.String id)
           
 void printStatus()
           
protected  void processDayClosed(DayClosedEvent event)
           
protected  void processDayOpening(DayOpeningEvent event)
           
protected  void processFeesAnnounced(FeesAnnouncedEvent event)
           
protected  void processGameStarted(GameStartedEvent event)
           
protected  void processGameStarting(GameStartingEvent event)
           
 void processRegisteredTraders(RegisteredTradersAnnouncedEvent event)
           
protected  void processRegistration(RegistrationEvent event)
           
protected  void processShoutPlaced(ShoutPlacedEvent event)
           
protected  void processShoutPosted(ShoutPostedEvent event)
           
protected  void processTransactionPosted(TransactionPostedEvent event)
           
protected  void registerTrader(Trader trader, Specialist specialist)
           
protected  void updateTraderStatus()
           
 
Methods inherited from class edu.cuny.cat.ClientRegistry
getShout, getSpecialist, getSpecialistIds, getSpecialists, getTrader, getTraderIds, getTraders, getTransaction, processIdAssigned, processTransactionExecuted, registerTrader
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

activeSpecialistIdSet

protected java.util.Set<java.lang.String> activeSpecialistIdSet
active specialist on the current day


entitlement

protected int entitlement
estimate of the entitlement of a trader each day


globalShoutEngine

protected FourHeapShoutEngine globalShoutEngine

glCEMaxPrice

protected double glCEMaxPrice

glCEMinPrice

protected double glCEMinPrice

glCEMidPrice

protected double glCEMidPrice

specialistBalances

protected java.util.Map<java.lang.String,java.lang.Double> specialistBalances

numOfBuyersInMarketDaily

protected int numOfBuyersInMarketDaily

numOfSellersInMarketDaily

protected int numOfSellersInMarketDaily

numOfActiveTraders

protected int numOfActiveTraders

numOfTracedTraders

protected int numOfTracedTraders
number of traders that are traced on the current day


numOfMobileTraders

protected int numOfMobileTraders
number of traders changing market within the last two consecutive days


numOfStationaryTraders

protected int numOfStationaryTraders
number of traders staying in a same market in the last two consecutive days

Constructor Detail

MarketRegistry

public MarketRegistry()
Method Detail

addTrader

public Trader addTrader(java.lang.String id,
                        java.lang.String desc,
                        boolean isSeller)
Overrides:
addTrader in class ClientRegistry

addSpecialist

public Specialist addSpecialist(java.lang.String id)
Overrides:
addSpecialist in class ClientRegistry

getTraderInfo

public TraderInfo getTraderInfo(java.lang.String id)

getSpecialistInfo

public SpecialistInfo getSpecialistInfo(java.lang.String id)

getMyInfo

public ExtendedSpecialistInfo getMyInfo()

eventOccurred

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

processGameStarting

protected void processGameStarting(GameStartingEvent event)
Overrides:
processGameStarting in class ClientRegistry

processGameStarted

protected void processGameStarted(GameStartedEvent event)

processDayOpening

protected void processDayOpening(DayOpeningEvent event)
Overrides:
processDayOpening in class ClientRegistry

processFeesAnnounced

protected void processFeesAnnounced(FeesAnnouncedEvent event)

processRegistration

protected void processRegistration(RegistrationEvent event)
Overrides:
processRegistration in class ClientRegistry

processRegisteredTraders

public void processRegisteredTraders(RegisteredTradersAnnouncedEvent event)

processDayClosed

protected void processDayClosed(DayClosedEvent event)

registerTrader

protected void registerTrader(Trader trader,
                              Specialist specialist)
Overrides:
registerTrader in class ClientRegistry

updateTraderStatus

protected void updateTraderStatus()

processShoutPlaced

protected void processShoutPlaced(ShoutPlacedEvent event)
Overrides:
processShoutPlaced in class ClientRegistry

processShoutPosted

protected void processShoutPosted(ShoutPostedEvent event)
Overrides:
processShoutPosted in class ClientRegistry

processTransactionPosted

protected void processTransactionPosted(TransactionPostedEvent event)
Overrides:
processTransactionPosted in class ClientRegistry

getGlCEMinPrice

public double getGlCEMinPrice()

getGlCEMaxPrice

public double getGlCEMaxPrice()

getGlCEMidPrice

public double getGlCEMidPrice()

getTraderEntitlement

public int getTraderEntitlement()

getActiveOpponentIds

public java.lang.String[] getActiveOpponentIds()

getNumOfTracedTraders

public int getNumOfTracedTraders()

getNumOfActiveTraders

public int getNumOfActiveTraders()

getNumOfBuyersInMarketDaily

public int getNumOfBuyersInMarketDaily()

getNumOfSellersInMarketDaily

public int getNumOfSellersInMarketDaily()

getNumOfActiveSpecialists

public int getNumOfActiveSpecialists()

printStatus

public void printStatus()
Overrides:
printStatus in class ClientRegistry