package schedule; /** * An Appointment adds a number of components to a generic ScheduledItem. The * StartTime and Duration indicate when the appointment starts and how long it * lasts. The Location is where it is held. The Security indicates who can * see that the appointment is scheduled. AppointmentPriority is how important * the appointment is. RemindInfo indicates if and how the user is reminded of * the appointment. Details are free form text describing any specific * appointment details. *

* This object is derived from Section 2.2 of the Milestone 6 requirements, in * particular Figure 6. */ abstract class Appointment extends ScheduledItem { Time startTime; Duration duration; RecurringInfo recurringInfo; Location location; Security security; AppointmentPriority priority; RemindInfo remind; Text details; }