/* * * This file defines the major database objects of the calendar system. * * Note that this is work in progress. Several objects are yet to be fully * defined. Also, more complete object descriptions are needed. * */ import java.util.Collection; /** * The full calendar DB is comprised of the users' calendars, the user * database, the group database, and the collection of options. This * CalendarDB object can be thought of as a user workspace, comprised of the * objects that are available for the user to view and edit. There is a draft UML diagram of the Calendar Tool object * hierarchy, of which CalendarDB is the topmost object. */ abstract class CalendarDB { Collection calendars; UserDB udb; GroupDB gdb; GlobalOptions options; /** * Aux function used in scheduleEvent spec. */ abstract UserCalendar getCurrentCalendar(); } /** * A user calendar is named, with its own set of options. It extends the * Calendar object, which contains the collection of scheduled items. */ abstract class UserCalendar extends Calendar { String userName; UserOptions options; }