Interface PackageNotificationSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
This session defines methods to receive asynchronous notifications on
adds/changes to Package objects. 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.
The views defined in this session correspond to the views in the
PackageLookupSession .
-
Method Summary
Modifier and TypeMethodDescriptionvoidacknowledgePackageNotification(Id notificationId) Acknowledge a package notification.booleanTests if this user can register forPackagenotifications.getDepot()Gets theDepotassociated with this session.Gets theDepotIdassociated with this session.voidregisterForChangedPackage(Id packageId) Registers for notification of an updated package.voidRegisters for notification of updated packages.voidregisterForDeletedPackage(Id packageId) Registers for notification of a deleted package.voidRegisters for notification of deleted packages.voidRegister for notifications of new packages.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
-
getDepotId
Id getDepotId()Gets theDepotIdassociated with this session.- Returns:
- the
Depot Idassociated with this session - Compliance:
mandatory- This method must be implemented.
-
getDepot
Gets theDepotassociated with this session.- Returns:
- the
Depotassociated with this session - Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
canRegisterForPackageNotifications
boolean canRegisterForPackageNotifications()Tests if this user can register forPackagenotifications. 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.
-
useFederatedDepotView
void useFederatedDepotView()Federates the view for methods in this session. A federated view will include notifications for packages in depots which are children of this depot in the depot hierarchy.- Compliance:
mandatory- This method is must be implemented.
-
useIsolatedDepotView
void useIsolatedDepotView()Isolates the view for methods in this session. An isolated view restricts notifications to this depot only.- Compliance:
mandatory- This method is must be implemented.
-
reliablePackageNotifications
void reliablePackageNotifications()Reliable notifications are desired. In reliable mode, notifications are to be acknowledged usingacknowledgePackageNotification().- Compliance:
mandatory- This method is must be implemented.
-
unreliablePackageNotifications
void unreliablePackageNotifications()Unreliable notifications are desired. In unreliable mode, notifications do not need to be acknowledged.- Compliance:
mandatory- This method is must be implemented.
-
acknowledgePackageNotification
void acknowledgePackageNotification(Id notificationId) throws OperationFailedException, PermissionDeniedException Acknowledge a package notification.- Parameters:
notificationId- theIdof the notification- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForNewPackages
Register for notifications of new packages.PackageReceiver.newPackages()is invoked when a new package is created.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedPackages
Registers for notification of updated packages.PackageReceiver.changedPackages()is invoked when a package is changed.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedPackage
void registerForChangedPackage(Id packageId) throws OperationFailedException, PermissionDeniedException Registers for notification of an updated package.PackageReceiver.changedPackages()is invoked when the specified package is changed.- Parameters:
packageId- theIdof thePackageto monitor- Throws:
NullArgumentException-packageId is nullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedPackages
Registers for notification of deleted packages.PackageReceiver.deletedPackages()is invoked when a package is removed from this depot.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedPackage
void registerForDeletedPackage(Id packageId) throws OperationFailedException, PermissionDeniedException Registers for notification of a deleted package.PackageReceiver.deletedPackages()is invoked when the specified package is removed from this depot.- Parameters:
packageId- theIdof thePackageto monitor- Throws:
NullArgumentException-packageId is nullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-