Interface SupersedingEvent

All Superinterfaces:
Browsable, Extensible, Identifiable, Operable, OsidObject, OsidRule

public interface SupersedingEvent extends OsidRule

A SupersedingEvent represents an override of an event such as an individual item in a recurring series. The event which is to supersede another must already be created. The SupersedingEvent rule causes the superseded Event to be overidden with the superseding Event at the superseding Event 's date and time.

  • Method Details

    • getSupersededEventId

      Id getSupersededEventId()
      Gets the event Id that is to be superseded.
      Returns:
      the superseding event Id
      Compliance:
      mandatory - This method must be implemented.
    • getSupersededEvent

      Event getSupersededEvent() throws OperationFailedException
      Gets the event that is to be superseded.
      Returns:
      the superseding event
      Throws:
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • getSupersedingEventId

      Id getSupersedingEventId()
      Gets the event Id that is superseding another.
      Returns:
      the superseding event Id
      Compliance:
      mandatory - This method must be implemented.
    • getSupersedingEvent

      Event getSupersedingEvent() throws OperationFailedException
      Gets the event that is superseding another.
      Returns:
      the superseding event
      Throws:
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • supersedesByDate

      boolean supersedesByDate()
      Tests if the superseding event replaces an event within a recurring series offered at a specific date/time. If supersedesByDate() is true, then supersedesByPosition() must be false.
      Returns:
      true if an event is superseded by date, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getSupersededDate

      DateTime getSupersededDate()
      Gets the date of an event to replace if a recurring event is offered on that date.
      Returns:
      the date of the event to replace
      Throws:
      IllegalStateException - supersedesByDate() is false
      Compliance:
      mandatory - This method must be implemented.
    • supersedesByPosition

      boolean supersedesByPosition()
      Tests if the superseding event replaces an event within a recurring series identified by its denormalized position in the series. A negative number counts from the end of the series. If supersedesByPosition() is true , then supersedesByDate() must be false .
      Returns:
      true if an event is superseded by position, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getSupersededEventPosition

      long getSupersededEventPosition()
      Gets the position in the denormalized recurring series of the event to replace. Positive numbers count from the start and negative numbers count from the end. Zero is invalid.
      Returns:
      the position of the event to replace
      Throws:
      IllegalStateException - supersedesByPosition() is false
      Compliance:
      mandatory - This method must be implemented.
    • getSupersedingEventRecord

      SupersedingEventRecord getSupersedingEventRecord(Type supersedingEventRecordType) throws OperationFailedException
      Gets the superseding event record corresponding to the given SupersedingEvent record Type . This method is used to retrieve an object implementing the requested record. The supersedingEventRecordType may be the Type returned in getRecordTypes() or any of its parents in a Type hierarchy where hasRecordType(supersedingEventRecordType) is true .
      Parameters:
      supersedingEventRecordType - the type of the record to retrieve
      Returns:
      the superseding event record
      Throws:
      NullArgumentException - supersedingEventRecordType is null
      OperationFailedException - unable to complete request
      UnsupportedException - hasRecordType(supersedingEventRecordType) is false
      Compliance:
      mandatory - This method must be implemented.