package fi.otavanopisto.muikku.calendar; import java.util.Date; import java.util.List; import java.util.Map; public interface CalendarEvent { /** * Returns calendar event identifier * * Identifier must be unique within service provider. * * @return calendar event identifier */ public String getId(); /** * Returns calendar identifier this event belongs to * * @return calendar identifier this event belongs to */ public String getCalendarId(); /** * Returns name of calendar service provider * * @return name of calendar service provider */ public String getServiceProvider(); /** * Returns a summary of the event * * @return a summary of the event */ public String getSummary(); /** * Returns event description * * @return event description */ public String getDescription(); /** * Returns an URL associated with the event * * @return an URL associated with the event */ public String getUrl(); /** * Returns event location data * * @return event location data */ public CalendarEventLocation getLocation(); /** * Returns a status of this event * * @return a status of this event */ public CalendarEventStatus getStatus(); /** * Returns list of event attendees * * @return list of event attendees */ public List<CalendarEventAttendee> getAttendees(); /** * Returns event organizer * * @return event organizer */ public CalendarEventUser getOrganizer(); /** * Returns event start time. For recurring events this is the time of the first event * * @return event start time */ public CalendarEventTemporalField getStart(); /** * Returns event end time. For recurring events this is the end time of first event * * @return event end time */ public CalendarEventTemporalField getEnd(); /** * Returns whether event is a all day event or not * * @return whether event is a all day event or not */ public boolean isAllDay(); /** * Returns event creation time * * @return event creation time */ public Date getCreated(); /** * Returns event last modification time * * @return event last modification time */ public Date getUpdated(); /** * Returns vendor specific event properties * * @return vendor specific event properties */ public Map<String, String> getExtendedProperties(); /** * Returns list of reminders for the event * * @return list of reminders for the event */ public List<CalendarEventReminder> getEventReminders(); /** * Returns calendar event recurrence data or null for single events * * @return calendar event recurrence data or null for single events */ public String getRecurrence(); }