public TempHiLo(TemperatureSensor theSensor, AlarmClock theAlarmClock) { itsAlarmClock = theAlarmClock; itsSensor = theSensor; // construct the data object Date d = new Date(); double sensorValue = itsSensor.read(); itsData = wmsdata.Scope.itsDataToolkit.getTempHiLoData(d, sensorValue); // register for the 24 hour data AlarmListener al = new AlarmListener() { public void wakeUp() { newDay(); } }; itsAlarmClock.wakeEveryDay(al); // register for changes in the sensor Observer o = new Observer() { public void update(Observable ob, Object anObject) { Double val = (Double) anObject; itsData.currentReading(val.doubleValue(), System.currentTimeMillis()); } }; itsSensor.addObserver(o); }