OSID Logo
OSID Specifications
calendaring package
Version 3.0.0
Release Candidate Preview
Interfaceosid.calendaring.RecurringEventAdminSession
Implementsosid.OsidSession
Description

This session creates, updates, and deletes RecurringEvents. The data for create and update is provided by the consumer via the form object. OsidForms are requested for each create or update and may not be reused.

Create and update operations differ in their usage. To create a RecurringEvent, a RecurringEventForm is requested using getRecurringEventFormForCreate() specifying the desired relationship peers and record Types or none if no record Types are needed. The returned RecurringEventForm will indicate that it is to be used with a create operation and can be used to examine metdata or validate data prior to creation. Once the RecurringEventForm is submiited to a create operation, it cannot be reused with another create operation unless the first operation was unsuccessful. Each RecurringEventForm corresponds to an attempted transaction.

For updates, RecurringEventForms are requested to the RecurringEvent Id that is to be updated using getRecurringEventFormForUpdate(). Similarly, the RecurringEventForm has metadata about the data that can be updated and it can perform validation before submitting the update. The RecurringEventForm can only be used once for a successful update and cannot be reused.

The delete operations delete Recurring Events. To unmap a RecurringEvent from the current Calendar, the RecurringEventCalendarAssignmentSession should be used. These delete operations attempt to remove the Event itself thus removing it from all known Calendar catalogs.

This session includes an Id aliasing mechanism to assign an external Id to an internally assigned Id.

MethodgetCalendarId
Description

Gets the Calendar Id associated with this session.

Returnosid.id.Idthe Calendar Id associated with this session
CompliancemandatoryThis method must be implemented.
MethodgetCalendar
Description

Gets the Calendar associated with this session.

Returnosid.calendaring.Calendarthe Calendar associated with this session
ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodcanCreateRecurringEvents
Description

Tests if this user can create RecurringEvents. A return of true does not guarantee successful authorization. A return of false indicates that it is known creating a RecurringEvent will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer create operations to an unauthorized user.

Returnboolean false if RecurringEvent creation is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethodcanCreateRecurringEventWithRecordTypes
Description

Tests if this user can create a single RecurringEvent using the desired record types. While CalendaringManager.getRecurringEventRecordTypes() can be used to examine which records are supported, this method tests which record(s) are required for creating a specific RecurringEvent. Providing an empty array tests if a RecurringEvent can be created with no records.

Parametersosid.type.Type[]recurringEventRecordTypesarray of recurring event types
Returnboolean true if RecurringEvent creation using the specified record Types is supported, false otherwise
ErrorsNULL_ARGUMENT recurringEventRecordTypes is null
CompliancemandatoryThis method must be implemented.
MethodgetRecurringEventFormForCreate
Description

Gets the recurring event form for creating new recurring events. A new form should be requested for each create transaction.

Parametersosid.type.Type[]recurringEventRecordTypesarray of recurring event types
Returnosid.calendaring.RecurringEventFormthe recurring event form
ErrorsNULL_ARGUMENT recurringEventRecordTypes is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
UNSUPPORTEDunable to get form for requested record types
CompliancemandatoryThis method must be implemented.
MethodcreateRecurringEvent
Description

Creates a new RecurringEvent.

Parametersosid.calendaring.RecurringEventFormrecurringEventFormthe form for this RecurringEvent
Returnosid.calendaring.RecurringEventthe new RecurringEvent
ErrorsILLEGAL_STATE recurringEventForm already used in a create transaction
INVALID_ARGUMENTone or more of the form elements is invalid
NULL_ARGUMENT recurringEventForm is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
UNSUPPORTED recurringEventForm did not originate in a create transaction
CompliancemandatoryThis method must be implemented.
MethodcanUpdateRecurringEvents
Description

Tests if this user can update RecurringEvents. A return of true does not guarantee successful authorization. A return of false indicates that it is known updating a RecurringEvent will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer update operations to an unauthorized user.

Returnboolean false if recurring event modification is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethodgetRecurringEventFormForUpdate
Description

Gets the recurring event form for updating an existing recurring event. A new recurring event form should be requested for each update transaction.

Parametersosid.id.IdrecurringEventIdthe Id of the RecurringEvent
Returnosid.calendaring.RecurringEventFormthe recurring event form
ErrorsNOT_FOUND recurringEventId is not found
NULL_ARGUMENT recurringEventId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodupdateRecurringEvent
Description

Updates an existing recurring event.

Parametersosid.calendaring.RecurringEventFormrecurringEventFormthe form containing the elements to be updated
ErrorsILLEGAL_STATE recurringEventForm already used in an update transaction
INVALID_ARGUMENTthe form contains an invalid value
NULL_ARGUMENT recurringEventForm is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
UNSUPPORTED recurringEventForm did not originate in an update transaction
CompliancemandatoryThis method must be implemented.
MethodcanDeleteRecurringEvents
Description

Tests if this user can delete RecurringEvents. A return of true does not guarantee successful authorization. A return of false indicates that it is known deleting a RecurringEvent will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer delete operations to an unauthorized user.

Returnboolean false if RecurringEvent deletion is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethoddeleteRecurringEvent
Description

Deletes the RecurringEvent identified by the given Id.

Parametersosid.id.IdrecurringEventIdthe Id of the RecurringEvent to delete
ErrorsNOT_FOUNDa RecurringEvent was not found identified by the given Id
NULL_ARGUMENT recurringEventId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodcanManageRecurringEventAliases
Description

Tests if this user can manage Id aliases for RecurringEvents. A return of true does not guarantee successful authorization. A return of false indicates that it is known changing an alias will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer alias operations to an unauthorized user.

Returnboolean false if RecurringEvent aliasing is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethodaliasRecurringEvent
Description

Adds an Id to a RecurringEvent for the purpose of creating compatibility. The primary Id of the RecurringEvent is determined by the provider. The new Id performs as an alias to the primary Id. If the alias is a pointer to another recurring event, it is reassigned to the given recurring event Id.

Parametersosid.id.IdrecurringEventIdthe Id of a RecurringEvent
osid.id.IdaliasIdthe alias Id
ErrorsALREADY_EXISTS aliasId is already assigned
NOT_FOUND recurringEventId not found
NULL_ARGUMENT recurringEventId or aliasId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodcanScheduleRecurringEvents
Description

Tests if this user can schedule recurring events. A return of true does not guarantee successful authorization. A return of false indicates that it is known recurring event methods in this session will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer create operations to an unauthorized user.

Returnboolean false if recurring event scheduling is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethodaddSchedule
Description

Adds a schedule to the given recurring event.

Parametersosid.id.IdrecurringEventIda recurring event Id
osid.id.IdscheduleIda schedule Id
Returnosid.id.Idthe Id of the schedule
ErrorsALREADY_EXISTSschedule is already part of recurring event
NOT_FOUND recurringEventId or scheduleId is not found
NULL_ARGUMENT recurringEventId or scheduleId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodremoveSchedule
Description

Removes a schedule from a given recurring event.

Parametersosid.id.IdrecurringEventIda recurring event Id
osid.id.IdscheduleIdthe schedule Id
ErrorsNOT_FOUNDschedule not part of recurring event
NULL_ARGUMENT recurringEventId or scheduleId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodaddSpecificDate
Description

Adds a specific date to the given recurring event.

Parametersosid.id.IdrecurringEventIda recurring event Id
osid.calendaring.DateTimedatea date
osid.locale.DisplayTextlocationDescriptionlocation description
ErrorsNOT_FOUND recurringEventId is not found
NULL_ARGUMENT recurringEventId, date , or locationDescription is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodaddSpecificDateWithLocation
Description

Adds a specific date to the given recurring event.

Parametersosid.id.IdrecurringEventIda recurring event Id
osid.calendaring.DateTimedatea date
osid.id.IdlocationIda location
ErrorsNOT_FOUND recurringEventId or locationId is not found
NULL_ARGUMENT recurringEventId, date , or locationId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodclearSpecificDates
Description

Clears any specific dates between the given dates inclusive.

Parametersosid.id.IdrecurringEventIda recurring event Id
osid.calendaring.DateTimefromstart date inclusive
osid.calendaring.DateTimetoend date inclusive
ErrorsINVALID_ARGUMENT from is greater than to
NOT_FOUND recurringEventId is not found
NULL_ARGUMENT recurringEventId, from or to is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodaddEvent
Description

Adds another event as part of this recurring event.

Parametersosid.id.IdrecurringEventIda recurring event Id
osid.id.IdeventIdan event Id
ErrorsNOT_FOUND recurringEventId or eventId is not found
NULL_ARGUMENT recurringEventId or eventId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodremoveEvent
Description

Removes an event as part of this recurring event.

Parametersosid.id.IdrecurringEventIda recurring event Id
osid.id.IdeventIdan event Id
ErrorsNOT_FOUND recurringEventId or eventId is not found or eventId not part of recurringEventId
NULL_ARGUMENT recurringEventId or eventId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodaddBlackout
Description

Adds a blackout to the given recurring event that blocks events in the series.

Parametersosid.id.IdrecurringEventIda recurring event Id
osid.calendaring.DateTimefromstart date inclusive
osid.calendaring.DateTimetoend date inclusive
ErrorsINVALID_ARGUMENT from is greater than to
NOT_FOUND recurringEventId is not found
NULL_ARGUMENT recurringEventId, from or to is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodclearBlackout
Description

Clears any blackouts between the given dates inclusive.

Parametersosid.id.IdrecurringEventIda recurring event Id
osid.calendaring.DateTimefromstart date inclusive
osid.calendaring.DateTimetoend date inclusive
ErrorsINVALID_ARGUMENT from is greater than to
NOT_FOUND recurringEventId is not found
NULL_ARGUMENT recurringEventId, from or to is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.