// Project: Observer // Module: casino // Source code file: Manager.java. // The Manager object is the observer. // The SlotMachine objects are the observables. import java.io.*; import java.text.*; import java.util.ArrayList; import java.util.Date; import it313.util.*; public class Manager implements Observer { private String logFileName; private PrintWriter pw; private ArrayList machines = new ArrayList( ); public Manager(String theFileName) throws IOException { logFileName = theFileName; // Open PrintWriter object for append. pw = new PrintWriter(new BufferedWriter( new FileWriter(logFileName, true))); } // When notified of a jackpot, write a line // to the logfile. public void update(Observable machine, Object id) { DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); Date date = new Date(); String dateString = dateFormat.format(date); pw.println(id + " " + dateString); pw.flush( ); System.out.println(id + " " + dateString); } }