Interface FoundryNotificationSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
This session defines methods to receive notifications on adds/changes
to Foundry 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.
-
Method Summary
Modifier and TypeMethodDescriptionvoidacknowledgeFoundryNotification(Id notificationId) Acknowledge a foundry notification.booleanTests if this user can register forFoundrynotifications.voidRegisters for notification of updated foundries.voidregisterForChangedFoundry(Id foundryId) Registers for notification of an updated foundry.voidRegisters for notification of an updated foundry hierarchy structure.voidregisterForChangedFoundryHierarchyForAncestors(Id foundryId) Registers for notification of an updated foundry hierarchy structure.voidRegisters for notification of an updated foundry hierarchy structure.voidRegisters for notification of deleted foundries.voidregisterForDeletedFoundry(Id foundryId) Registers for notification of a deleted foundry.voidRegister for notifications of new foundries.voidReliable notifications are desired.voidUnreliable notifications are desired.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
-
canRegisterForFoundryNotifications
boolean canRegisterForFoundryNotifications()Tests if this user can register forFoundrynotifications. 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.
-
reliableFoundryNotifications
void reliableFoundryNotifications()Reliable notifications are desired. In reliable mode, notifications are to be acknowledged usingacknowledgeFoundryNotification().- Compliance:
mandatory- This method is must be implemented.
-
unreliableFoundryNotifications
void unreliableFoundryNotifications()Unreliable notifications are desired. In unreliable mode, notifications do not need to be acknowledged.- Compliance:
mandatory- This method is must be implemented.
-
acknowledgeFoundryNotification
void acknowledgeFoundryNotification(Id notificationId) throws OperationFailedException, PermissionDeniedException Acknowledge a foundry notification.- Parameters:
notificationId- theIdof the notification- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForNewFoundries
Register for notifications of new foundries.FoundryReceiver.newFoundries()is invoked when a newFoundryis created.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedFoundries
Registers for notification of updated foundries.FoundryReceiver.changedFoundries()is invoked when a foundry is changed.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedFoundry
void registerForChangedFoundry(Id foundryId) throws OperationFailedException, PermissionDeniedException Registers for notification of an updated foundry.FoundryReceiver.changedFoundries()is invoked when the specified foundry is changed.- Parameters:
foundryId- the Id of theFoundryto monitor- Throws:
NullArgumentException-foundryId is nullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedFoundries
Registers for notification of deleted foundries.FoundryReceiver.deletedFoundries()is invoked when a foundry is deleted.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedFoundry
void registerForDeletedFoundry(Id foundryId) throws OperationFailedException, PermissionDeniedException Registers for notification of a deleted foundry.FoundryReceiver.deletedFoundries()is invoked when the specified foundry is deleted.- Parameters:
foundryId- theIdof theFoundryto monitor- Throws:
NullArgumentException-foundryId is nullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedFoundryHierarchy
void registerForChangedFoundryHierarchy() throws OperationFailedException, PermissionDeniedExceptionRegisters for notification of an updated foundry hierarchy structure.FoundryReceiver.changedChildOfFoundries()is invoked when the specified node or any of its descendants experiences a change in its children.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedFoundryHierarchyForAncestors
void registerForChangedFoundryHierarchyForAncestors(Id foundryId) throws OperationFailedException, PermissionDeniedException Registers for notification of an updated foundry hierarchy structure.FoundryReceiver.changedChildOfFoundries()is invoked when the specified node or any of its descendants experiences a change in its children.- Parameters:
foundryId- theIdof theFoundrynode to monitor- Throws:
NullArgumentException-foundryIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedFoundryHierarchyForDescendants
void registerForChangedFoundryHierarchyForDescendants(Id foundryId) throws OperationFailedException, PermissionDeniedException Registers for notification of an updated foundry hierarchy structure.FoundryReceiver.changedChildOfFoundries()is invoked when the specified node or any of its descendants experiences a change in its children.- Parameters:
foundryId- theIdof theFoundrynode to monitor- Throws:
NullArgumentException-foundryIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-