Interface OfferingNotificationSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
This session defines methods to receive notifications on adds/changes
to Offerings . This session is intended for consumers needing to
synchronize their state with this service without the use of polling.
Notifications are cancelled when this session is closed.
-
Method Summary
Modifier and TypeMethodDescriptionvoidacknowledgeOfferingNotification(Id notificationId) Acknowledge an offering notification.booleanTests if this user can register forOfferingnotifications.Gets theCatalogueassociated with this session.Gets theCatalogueIdassociated with this session.voidregisterForChangedOffering(Id offeringId) Registers for notification of an updated offering.voidRegisters for notification of updated offerings.voidregisterForChangedOfferingsForCanonicalUnit(Id canonicalUnitId) Registers for notification of updated offerings for the given canonical unit.voidregisterForChangedOfferingsForTimePeriod(Id timePeriodId) Registers for notification of updated offerings for the given time period.voidregisterForDeletedOffering(Id offeringId) Registers for notification of a deleted offering.voidRegisters for notification of deleted offerings.voidregisterForDeletedOfferingsForCanonicalUnit(Id canonicalUnitId) Registers for notification of deleted offerings for the given canonical unit.voidregisterForDeletedOfferingsForTimePeriod(Id timePeriodId) Registers for notification of updated offerings for the given time period.voidRegister for notifications of new offerings.voidregisterForNewOfferingsForCanonicalUnit(Id canonicalUnitId) Registers for notification of new offerings for the given canonical unit.voidregisterForNewOfferingsForTimePeriod(Id timePeriodId) Registers for notification of new offerings for the given time period.voidReliable notifications are desired.voidUnreliable notifications are desired.voidFederates the view for methods in this session.voidIsolates the view for methods in this session.Methods inherited from interface OsidSession
closeMethods inherited from interface OsidSession
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactionsModifier and TypeMethodDescriptionGets the agent authenticated to this session.Gets theIdof the agent authenticated to this session.Gets the rate of the service clock.getDate()Gets the service date which may be the current date or the effective date in which this session exists.Gets the effective agent in use by this session.Gets theIdof the effective agent in use by this session.Gets theDisplayTextformatTypepreference in effect for this session.Gets the locale indicating the localization preferences in effect for this session.booleanTests if an agent is authenticated to this session.Starts a new transaction for this sesson.booleanTests for the availability of transactions.
-
Method Details
-
getCatalogueId
Id getCatalogueId()Gets theCatalogueIdassociated with this session.- Returns:
- the
Catalogue Idassociated with this session - Compliance:
mandatory- This method must be implemented.
-
getCatalogue
Gets theCatalogueassociated with this session.- Returns:
- the catalogue
- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
canRegisterForOfferingNotifications
boolean canRegisterForOfferingNotifications()Tests if this user can register forOfferingnotifications. A return of true does not guarantee successful authorization. A return of false indicates that it is known all methods in this session will result in aPERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer notification operations.- Returns:
falseif notification methods are not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
useFederatedCatalogueView
void useFederatedCatalogueView()Federates the view for methods in this session. A federated view will include notifications for offeringss in catalogues which are children of this catalogue in the catalogue hierarchy.- Compliance:
mandatory- This method is must be implemented.
-
useIsolatedCatalogueView
void useIsolatedCatalogueView()Isolates the view for methods in this session. An isolated view restricts notifications to this catalogue only.- Compliance:
mandatory- This method is must be implemented.
-
reliableOfferingNotifications
void reliableOfferingNotifications()Reliable notifications are desired. In reliable mode, notifications are to be acknowledged usingacknowledgeOfferingNotification().- Compliance:
mandatory- This method is must be implemented.
-
unreliableOfferingNotifications
void unreliableOfferingNotifications()Unreliable notifications are desired. In unreliable mode, notifications do not need to be acknowledged.- Compliance:
mandatory- This method is must be implemented.
-
acknowledgeOfferingNotification
void acknowledgeOfferingNotification(Id notificationId) throws OperationFailedException, PermissionDeniedException Acknowledge an offering notification.- Parameters:
notificationId- theIdof the notification- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForNewOfferings
Register for notifications of new offerings.OfferingReceiver.newOfferings()is invoked when a newOfferingis created.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForNewOfferingsForCanonicalUnit
void registerForNewOfferingsForCanonicalUnit(Id canonicalUnitId) throws OperationFailedException, PermissionDeniedException Registers for notification of new offerings for the given canonical unit.OfferingReceiver.newOfferings()is invoked when an offering appears in this catalogue.- Parameters:
canonicalUnitId- theIdof theCanonicalUnitto monitor- Throws:
NullArgumentException-canonicalUnitIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForNewOfferingsForTimePeriod
void registerForNewOfferingsForTimePeriod(Id timePeriodId) throws OperationFailedException, PermissionDeniedException Registers for notification of new offerings for the given time period.OfferingReceiver.newOfferings()is invoked when an offering appears in this catalogue.- Parameters:
timePeriodId- theIdof theTimePeriodto monitor- Throws:
NullArgumentException-timePeriodIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedOfferings
Registers for notification of updated offerings.OfferingReceiver.changedOfferings()is invoked when an offering in this catalogue is changed.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedOfferingsForCanonicalUnit
void registerForChangedOfferingsForCanonicalUnit(Id canonicalUnitId) throws OperationFailedException, PermissionDeniedException Registers for notification of updated offerings for the given canonical unit.OfferingReceiver.changedOfferings()is invoked when an offering in this catalogue is updated.- Parameters:
canonicalUnitId- theIdof theCanonicalUnitto monitor- Throws:
NullArgumentException-canonicalUnitIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedOfferingsForTimePeriod
void registerForChangedOfferingsForTimePeriod(Id timePeriodId) throws OperationFailedException, PermissionDeniedException Registers for notification of updated offerings for the given time period.OfferingReceiver.changedOfferings()is invoked when an offering in this catalogue is updated.- Parameters:
timePeriodId- theIdof theTimePeriodto monitor- Throws:
NullArgumentException-timePeriodIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedOffering
void registerForChangedOffering(Id offeringId) throws NotFoundException, OperationFailedException, PermissionDeniedException Registers for notification of an updated offering.OfferingReceiver.changedOfferings()is invoked when the specified offering in this catalogue is changed.- Parameters:
offeringId- theIdof theOfferingto monitor- Throws:
NotFoundException- an offering was not found identified by the givenIdNullArgumentException-offeringIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedOfferings
Registers for notification of deleted offerings.OfferingReceiver.deletedOfferings()is invoked when an offering is removed from this catalogue.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedOfferingsForCanonicalUnit
void registerForDeletedOfferingsForCanonicalUnit(Id canonicalUnitId) throws OperationFailedException, PermissionDeniedException Registers for notification of deleted offerings for the given canonical unit.OfferingReceiver.changedOfferings()is invoked when an offering is remoevd from this catalogue.- Parameters:
canonicalUnitId- theIdof theCanonicalUnitto monitor- Throws:
NullArgumentException-canonicalUnitIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedOfferingsForTimePeriod
void registerForDeletedOfferingsForTimePeriod(Id timePeriodId) throws OperationFailedException, PermissionDeniedException Registers for notification of updated offerings for the given time period.OfferingReceiver.changedOfferings()is invoked when an offering is removed from this catalogue.- Parameters:
timePeriodId- theIdof theTimePeriodto monitor- Throws:
NullArgumentException-timePeriodIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedOffering
void registerForDeletedOffering(Id offeringId) throws NotFoundException, OperationFailedException, PermissionDeniedException Registers for notification of a deleted offering.OfferingReceiver.deletedOfferings()is invoked when the specified offering is removed from this catalogue.- Parameters:
offeringId- theIdof theOfferingto monitor- Throws:
NotFoundException- an offering was not found identified by the givenIdNullArgumentException-offeringIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-