package simulator; /* * Logger.java * Created on 2005/1/6 * */ /** * Logger - This interface defines the function that can be used to log * specific events in the amusement park, specifically when a customer arrives at, boards, * and leaves a particular attraction. * @author Ping * */ public interface Logger { /** * This function should be called when the park first opens and pass in the time * that the park opened at. This function should be called before the other function * can be called. * * @param time - The current time */ public void parkOpened(Time time); /** * This function should be called when the park closes. No more logging functions * can be called until the park is openned again * */ public void parkClosed(); /** * This function logs the event of a customer arriving at a particular attraction * @param customer - The arriving customer * @param attraction - The attraction that the customer arrived at */ public void arriveAtAttraction(Customer customer, Attraction attraction); /** * This function logs the event of a customer actually getting on a * particular attraction * @param customer - The customer * @param attraction - The attraction that the customer boarded */ public void boardAttraction(Customer customer, Attraction attraction); /** * This function logs the event of a customer exiting an attraction * * @param customer - The exiting customer * @param attraction - The attraction that the customer exited from */ public void exitAttraction(Customer customer, Attraction attraction); /** * This function logs the customer's decision on where to go next. * * @param customer - The customer who has just decided where to go * @param nextStop - The next attraction that the customer decides to go to. Note * this should be null if the customer is heading to the exit. */ public void nextAttraction(Customer customer, Attraction nextStop); }