import edu.mit.ai.psg.jevaUI.JevaGUI;
import edu.mit.ai.psg.jevaUI.JevaUI;
import edu.mit.ai.psg.jeva.Jeva;
import java.util.*;
import java.text.*;
public class DemoStubAppointmentCalendar {
public static void main(String[] ignore) {
try {
DemoStubAppointmentCalendar apptBook = new DemoStubAppointmentCalendar();
DateFormat dateParser = new SimpleDateFormat("d MMM yyyy, HH:mm");
apptBook.appointments.addElement
(new DemoStubAppointmentCalendar.Appointment
(dateParser.parse("1 Dec 1998, 16:15"), "30 min Team Meeting"));
apptBook.appointments.addElement
(new DemoStubAppointmentCalendar.Appointment
(dateParser.parse("30 Nov 1998, 14:30"), "90 min Class Meeting"));
apptBook.makeAppointment(dateParser.parse("1 Dec 1998, 16:30"),
"90 min Learning Seminar");
} catch(ParseException e) { throw new Error(""+e); }
finally { System.exit(0); }
}
public Vector appointments = new Vector();
public static class Appointment {
public Date dateTime;
public String purpose;
public Appointment(Date dateTime, String purpose) {
this.dateTime = dateTime;
this.purpose = purpose;
}
public String toString() { return "Appt["+dateTime+": "+purpose+"]"; }
}
public boolean makeAppointment(Date dateTime, String purpose) {
try {
Boolean result = (Boolean)
JevaGUI.repl
(0, "boolean makeAppointment",
("// makeAppointment stub: Consider adding new Appointment to "+
"appointments;\n"+
"// return true if accepted, false if not accepted. \n"+
"boolean makeAppointment("+
"\n (Date) dateTime: "+dateTime+
"\n (String) purpose: "+purpose+")\n"+
"(Vector) appointments: "+appointments+ "\n"+
"self: "+this+"\n"),
boolean.class, JevaUI.NoThrowsDeclarations,
Jeva.extendEnv
(Date.class, "dateTime", dateTime,
Jeva.extendEnv
(String.class, "purpose", purpose,
Jeva.extendEnv
(Vector.class, "appointments", appointments,
Jeva.extendEnv
(DemoStubAppointmentCalendar.class, "self", this,
Jeva.makeDefaultEnv())))));
return result.booleanValue();
} catch (Throwable t) { throw new Error("thrown: "+t); }
}
public void cancelAppointment(Date dateTime)
throws IllegalArgumentException {
try {
JevaGUI.repl
(0, "void cancelAppointment",
("/** cancelAppointment stub: cancel old appointment from "+
"appointments;\n"+
" throw an IllegalArgumentException if no such appointment.**/\n"+
"void cancelAppointment("+
"\n (Date) dateTime: "+dateTime+")\n"+
"throws IllegalArgumentException\n"+
"(Vector) appointments: "+appointments+ "\n"+
"self: "+this+"\n"),
void.class, new Class[] {IllegalArgumentException.class},
Jeva.extendEnv
(Date.class, "dateTime", dateTime,
Jeva.extendEnv
(Vector.class, "appointments", appointments,
Jeva.extendEnv
(DemoStubAppointmentCalendar.class, "self", this,
Jeva.makeDefaultEnv()))));
} catch (Throwable t) { throw new Error("thrown: "+t); }
}
}