edu.cuny.cat.registry
Class SimpleRegistry
java.lang.Object
  
edu.cuny.cat.registry.SimpleRegistry
- All Implemented Interfaces: 
 - AuctionEventListener, Registry
 
public class SimpleRegistry
- extends java.lang.Object
- implements Registry
  
Implements Registry by logging game information simply into internal
 data structures, in contrast to some external permanent storage.
- Version:
 
  - $Revision: 1.72 $
 
- Author:
 
  - Jinzhong Niu
 
 
 
 
| Methods inherited from class java.lang.Object | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | 
 
workingTraders
protected java.util.Map<java.lang.String,Trader> workingTraders
workingSpecialists
protected java.util.Map<java.lang.String,Specialist> workingSpecialists
failedTraders
protected java.util.Map<java.lang.String,Trader> failedTraders
failedSpecialists
protected java.util.Map<java.lang.String,Specialist> failedSpecialists
expectedSpecialists
protected java.util.Map<java.lang.String,Specialist> expectedSpecialists
activeSpecialists
protected java.util.Map<java.lang.String,Specialist> activeSpecialists
shouts
protected java.util.Map<java.lang.String,Shout> shouts
transactions
protected java.util.Map<java.lang.String,Transaction> transactions
subscriptions
protected java.util.Map<java.lang.String,java.util.Set<java.lang.String>> subscriptions
controller
protected GameController controller
clock
protected GameClock clock
SimpleRegistry
public SimpleRegistry()
addExpectedSpecialist
public void addExpectedSpecialist(Specialist specialist)
- Specified by:
 addExpectedSpecialist in interface Registry
 
 
welcomeExpectedSpecialist
protected void welcomeExpectedSpecialist(Specialist specialist)
 
 
addFailedClient
protected void addFailedClient(AccountHolder client)
 
 
restoreFailedClient
protected void restoreFailedClient(AccountHolder client)
 
 
transferFund
protected void transferFund(AccountHolder payer,
                            AccountHolder payee,
                            java.lang.String type,
                            double amount,
                            int quantity)
 
- Parameters:
 payer - the party to pay money for buying goods or servicepayee - the party to receive money for selling goods or servicetype - the type of the monetary transactionamount - the amount to be paid for one unit of goods or servicequantity - units of goods or times of service
 
eventOccurred
public void eventOccurred(AuctionEvent event)
- Specified by:
 eventOccurred in interface AuctionEventListener
 
 
processFundTransfer
protected void processFundTransfer(FundTransferEvent event)
 
 
processRoundClosing
protected void processRoundClosing(RoundClosingEvent event)
 
 
processRoundClosed
protected void processRoundClosed(RoundClosedEvent event)
 
 
processDayClosed
protected void processDayClosed(DayClosedEvent event)
 
 
processRoundOpened
protected void processRoundOpened(RoundOpenedEvent event)
 
 
processDayOpening
protected void processDayOpening(DayOpeningEvent event)
 
 
processDayOpened
protected void processDayOpened(DayOpenedEvent event)
 
 
processGameOver
protected void processGameOver(GameOverEvent event)
 
 
processGameStarting
protected void processGameStarting(GameStartingEvent event)
 
 
processGameStarted
protected void processGameStarted(GameStartedEvent event)
 
 
processPrivateValueAssigned
protected void processPrivateValueAssigned(PrivateValueAssignedEvent event)
 
 
processSubscription
protected void processSubscription(SubscriptionEvent event)
 
 
processTraderCheckIn
protected void processTraderCheckIn(TraderCheckInEvent event)
 
 
processSpecialistCheckIn
protected void processSpecialistCheckIn(SpecialistCheckInEvent event)
 
 
processShoutPlaced
protected void processShoutPlaced(ShoutPlacedEvent event)
- TODO: shout related event processing changes shout directly, which however
 may have negative effects on processing in game reports etc. as Kai pointed
 out
 
 
 
processShoutRejected
protected void processShoutRejected(ShoutRejectedEvent event)
 
 
processShoutReceived
protected void processShoutReceived(ShoutReceivedEvent event)
 
 
processTransactionExecuted
protected void processTransactionExecuted(TransactionExecutedEvent event)
 
 
processFeesAnnounced
protected void processFeesAnnounced(FeesAnnouncedEvent event)
 
 
processRegistration
protected void processRegistration(RegistrationEvent event)
 
 
processSimulationStarted
protected void processSimulationStarted(SimulationStartedEvent event)
 
 
processSimulationOver
protected void processSimulationOver(SimulationOverEvent event)
 
 
processClientStatusUpdated
protected void processClientStatusUpdated(ClientStateUpdatedEvent event)
 
 
getWorkingTraderIds
public java.lang.String[] getWorkingTraderIds()
- Specified by:
 getWorkingTraderIds in interface Registry
 
 
getWorkingSpecialistIds
public java.lang.String[] getWorkingSpecialistIds()
- Specified by:
 getWorkingSpecialistIds in interface Registry
 
 
getWorkingSpecialist
public Specialist getWorkingSpecialist(java.lang.String specialistId)
- Specified by:
 getWorkingSpecialist in interface Registry
 
 
getWorkingTrader
public Trader getWorkingTrader(java.lang.String traderId)
- Specified by:
 getWorkingTrader in interface Registry
 
 
getWorkingSpecialists
public Specialist[] getWorkingSpecialists()
- Specified by:
 getWorkingSpecialists in interface Registry
 
 
getActiveSpecialists
public Specialist[] getActiveSpecialists()
- Specified by:
 getActiveSpecialists in interface Registry
 
- Returns:
 - a list of specialists that are available for traders to do business
         with
 
 
getActiveSpecialist
public Specialist getActiveSpecialist(java.lang.String specialistId)
- Specified by:
 getActiveSpecialist in interface Registry
 
 
getWorkingTraders
public Trader[] getWorkingTraders()
- Specified by:
 getWorkingTraders in interface Registry
 
 
getFailedClient
public AccountHolder getFailedClient(java.lang.String id)
- Specified by:
 getFailedClient in interface Registry
 
 
getExpectedSpecialist
public Specialist getExpectedSpecialist(java.lang.String id)
- Specified by:
 getExpectedSpecialist in interface Registry
 
 
getShout
public Shout getShout(java.lang.String shoutId)
- Specified by:
 getShout in interface Registry
 
 
getShouts
public Shout[] getShouts()
- Specified by:
 getShouts in interface Registry
 
 
getTransaction
public Transaction getTransaction(java.lang.String transactionId)
- Specified by:
 getTransaction in interface Registry
 
 
getTransactions
public Transaction[] getTransactions()
- Specified by:
 getTransactions in interface Registry
 
 
getBrokerId
public java.lang.String getBrokerId(java.lang.String traderId)
- Specified by:
 getBrokerId in interface Registry
 
 
containsWorkingSpecialist
public boolean containsWorkingSpecialist(java.lang.String specialistId)
 
 
containsWorkingTrader
public boolean containsWorkingTrader(java.lang.String traderId)
 
 
getSubscriberIds
public java.lang.String[] getSubscriberIds(java.lang.String specialistId)
- Specified by:
 getSubscriberIds in interface Registry
 
 
start
public void start()
- Specified by:
 start in interface Registry
 
 
stop
public void stop()
- Specified by:
 stop in interface Registry
 
 
getNumOfClients
public int getNumOfClients()
- Specified by:
 getNumOfClients in interface Registry
 
 
getNumOfSpecialists
public int getNumOfSpecialists()
- Specified by:
 getNumOfSpecialists in interface Registry
 
 
getNumOfActiveSpecialists
public int getNumOfActiveSpecialists()
- Specified by:
 getNumOfActiveSpecialists in interface Registry
 
 
getNumOfTraders
public int getNumOfTraders()
- Specified by:
 getNumOfTraders in interface Registry
 
 
getTrader
public Trader getTrader(java.lang.String traderId)
- Specified by:
 getTrader in interface Registry
 
 
getTraders
public Trader[] getTraders()
- Specified by:
 getTraders in interface Registry
 
 
getNumOfWorkingTraders
public int getNumOfWorkingTraders()
- Specified by:
 getNumOfWorkingTraders in interface Registry
 
 
getNumOfWorkingSpecialists
public int getNumOfWorkingSpecialists()
- Specified by:
 getNumOfWorkingSpecialists in interface Registry
 
 
getSpecialist
public Specialist getSpecialist(java.lang.String specialistId)
- Specified by:
 getSpecialist in interface Registry
 
 
getSpecialistIds
public java.lang.String[] getSpecialistIds()
- Specified by:
 getSpecialistIds in interface Registry
 
 
getSpecialists
public Specialist[] getSpecialists()
- Specified by:
 getSpecialists in interface Registry
 
 
getTraderIds
public java.lang.String[] getTraderIds()
- Specified by:
 getTraderIds in interface Registry
 
 
containsSpecialist
public boolean containsSpecialist(java.lang.String specialistId)
- Specified by:
 containsSpecialist in interface Registry
 
 
containsTrader
public boolean containsTrader(java.lang.String traderId)
- Specified by:
 containsTrader in interface Registry
 
 
getNumOfWorkingClients
public int getNumOfWorkingClients()
- Specified by:
 getNumOfWorkingClients in interface Registry
 
 
getClientStatInfo
public java.lang.String getClientStatInfo()
- Specified by:
 getClientStatInfo in interface Registry
 
- Returns:
 - a String including numbers of clients dead and alive.
 
 
toString
public java.lang.String toString()
- Overrides:
 toString in class java.lang.Object