package caltool.model.schedule; /**** * * Security is one of four possible levels: Public, PublicTitle, Confidential, * or Private. The levels specify the degree of visibility a scheduled item * has to other users. For an appointment, task, or event, "other users" are * defined as all users other than the user on whose calendar the scheduled * item appears. For a meeting, "other users" are all users not on the * Attendees list of the meeting. * * Public security means other users can see the scheduled item and all the * information about the item. * * PublicTitle security means other users can see the title of the scheduled * item but none of the other information about the item. * * Confidential security means other users can only see that a user is * unavailable for the time period of a scheduled item; no other information * about the scheduled item is visible. Since confidential security applies to * a specific time period, it is meaningful only for appointments and meetings, * not for tasks or events; tasks and events do not have specific time * components. * * Private security means other users see no information at all about a * scheduled item, not even that the item is scheduled. Note that private * security hides a scheduled item from the ScheduleMeeting operation, q.v., so * that a meeting may be scheduled at the same time as a private appointment. * It is up to the user to handle this situation by accepting or refusing the * scheduled meeting. Given the nature of private security, it does not apply * to meetings. I.e., only appointments can have private security. * * @author Gene Fisher (gfisher@calpoly.edu) * @version 13apr15 * */ public enum Security { /** Public security means other users can see the scheduled item and all the information about the item. */ Public, /** PublicTitle security means other users can see the title of the scheduled item but none of the other information about the item. */ PublicTitle, /** Confidential security means other users can only see that a user is unavailable for the time period of a scheduled item; no other information about the scheduled item is visible. Since confidential security applies to a specific time period, it is meaningful only for appointments and meetings, not for tasks or events; tasks and events do not have specific time components. */ Confidential, /** Private security means other users see no information at all about a scheduled item, not even that the item is scheduled. Note that private security hides a scheduled item from the ScheduleMeeting operation, q.v., so that a meeting may be scheduled at the same time as a private appointment. It is up to the user to handle this situation by accepting or refusing the scheduled meeting. Given the nature of private security, it does not apply to meetings. I.e., only appointments can have private security. */ Private }