/*
*
* 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;
}