package caldb;

/****
 * This is the stuff stored in a settings file.  Need to figure out if we want
 * to cache a copy of this in the user (or tool-wide (if there is such a
 * thing)) workspace or just always get it from the file.  It would seem from
 * the requirements that it does always come from the file, so defining a
 * cached version in the model may be crossing the boundary into
 * implementation.
 */


public class Settings {
    CalendarSpecificSettings cal;
    SessionWideSettings ssession;
}

/****
 * Calendar-specific settings consist of category definitions, custom lists,
 * custom filters, the current window state, the windowing mode, and
 * calendar-specific options.
 */
class CalendarSpecificSettings {
    Categories categories;
    CustomLists lists;
    FilterSettings filterSettings;
    CustomFilters filters;
    WindowsState windowState;
    WindowingMode windowMode;
    RegularUserOptions options;

}

class SessionWideSettings {
    OpenCalendarNames calNames;
    HostConnectionTable connectionTab;
}

/*-*
 * Place holders for future refinement.
 */
class Categories {}
class CustomLists {}
class FilterSettings {}
class CustomFilters {}
class WindowsState {}
class WindowingMode {}
class RegularUserOptions {}
class OpenCalendarNames {}
class HostConnectionTable {}