Interface BranchNotificationSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
This session defines methods to receive notifications on adds/changes
to Branches in this Journal . This also includes existing
branches that may appear or disappear due to changes in the
Journal hierarchy, 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 two views defined in this session correspond to the views in the
BranchLookupSession .
-
Method Summary
Modifier and TypeMethodDescriptionvoidacknowledgeBranchNotification(Id notificationId) Acknowledge a branch notification.booleanTests if this user can register forBranchnotifications.Gets theJournalassociated with this session.Gets theJournalIdassociated with this session.voidregisterForChangedBranch(Id branchId) Registers for notification of an updated branch.voidRegisters for notification of updated branches.voidregisterForDeletedBranch(Id branchId) Registers for notification of a deleted branch.voidRegisters for notification of deleted branches.voidRegister for notifications of new branches.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
-
getJournalId
Id getJournalId()Gets theJournalIdassociated with this session.- Returns:
- the
Journal Idassociated with this session - Compliance:
mandatory- This method must be implemented.
-
getJournal
Gets theJournalassociated with this session.- Returns:
- the
Journalassociated with this session - Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
canRegisterForBranchNotifications
boolean canRegisterForBranchNotifications()Tests if this user can register forBranchnotifications. 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.
-
useFederatedJournalView
void useFederatedJournalView()Federates the view for methods in this session. A federated view will include branches in journals which are children of this journal in the journal hierarchy.- Compliance:
mandatory- This method is must be implemented.
-
useIsolatedJournalView
void useIsolatedJournalView()Isolates the view for methods in this session. An isolated view restricts notifications to this journal only.- Compliance:
mandatory- This method is must be implemented.
-
reliableBranchNotifications
void reliableBranchNotifications()Reliable notifications are desired. In reliable mode, notifications are to be acknowledged usingacknowledgeBranchNotification().- Compliance:
mandatory- This method is must be implemented.
-
unreliableBranchNotifications
void unreliableBranchNotifications()Unreliable notifications are desired. In unreliable mode, notifications do not need to be acknowledged.- Compliance:
mandatory- This method is must be implemented.
-
acknowledgeBranchNotification
void acknowledgeBranchNotification(Id notificationId) throws OperationFailedException, PermissionDeniedException Acknowledge a branch notification.- Parameters:
notificationId- theIdof the notification- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForNewBranches
Register for notifications of new branches.BranchReceiver.newBranches()is invoked when a newBranchis appears in this journal.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedBranches
Registers for notification of updated branches.BranchReceiver.changedBranches()is invoked when a branch in this journal is changed.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedBranch
void registerForChangedBranch(Id branchId) throws OperationFailedException, PermissionDeniedException Registers for notification of an updated branch.BranchReceiver.changedBranches()is invoked when the specified branch in this journal is changed.- Parameters:
branchId- theIdof theBranchto monitor- Throws:
NullArgumentException-branchIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedBranches
Registers for notification of deleted branches.BranchReceiver.deletedBranches()is invoked when a branch is deleted or removed from this journal.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedBranch
void registerForDeletedBranch(Id branchId) throws OperationFailedException, PermissionDeniedException Registers for notification of a deleted branch.BranchReceiver.deletedBranches()is invoked when the specified branch is deleted or removed from this journal.- Parameters:
branchId- theIdof theBranchto monitor- Throws:
NullArgumentException-branchIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-