Interface PathNotificationSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
This session defines methods to receive notifications on adds/changes
to Path objects in this Graph . This also includes
existing paths that may appear or disappear due to changes in the
Graph 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
PathLookupSession .
-
Method Summary
Modifier and TypeMethodDescriptionvoidacknowledgePathNotification(Id notificationId) Acknowledge a path notification.booleanTests if this user can register forPathnotifications.getGraph()Gets theGraphassociated with this session.Gets theGraphIdassociated with this session.voidregisterForChangedPath(Id pathId) Registers for notification of an updated path.voidRegisters for notification of updated paths.voidregisterForChangedPathsByGenusType(Type pathGenusType) Registers for notification of updated paths of the given genus type.voidRegisters for notification of updated paths to the given node.voidRegisters for notification of updated paths from the given node.voidregisterForDeletedPath(Id pathId) Registers for notification of a deleted path.voidRegisters for notification of deleted paths.voidregisterForDeletedPathsByGenusType(Type pathGenusType) Registers for notification of deleted paths of the given genus type.voidRegister for notifications of removed paths to the given node.voidRegister for notifications of removed paths from the given node.voidRegister for notifications of new paths.voidregisterForNewPathsByGenusType(Type pathGenusType) Register for notifications of new paths of the given genus type.voidregisterForNewPathsForEndingNode(Id nodeId) Register for notifications of new paths to the given node.voidregisterForNewPathsForStartingNode(Id nodeId) Register for notifications of new paths from the given node.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
-
getGraphId
Id getGraphId()Gets theGraphIdassociated with this session.- Returns:
- the
Graph Idassociated with this session - Compliance:
mandatory- This method must be implemented.
-
getGraph
Gets theGraphassociated with this session.- Returns:
- the graph
- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
canRegisterForPathNotifications
boolean canRegisterForPathNotifications()Tests if this user can register forPathnotifications. 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.
-
useFederatedGraphView
void useFederatedGraphView()Federates the view for methods in this session. A federated view will include paths in graphs which are children of this graph in the graph hierarchy.- Compliance:
mandatory- This method is must be implemented.
-
useIsolatedGraphView
void useIsolatedGraphView()Isolates the view for methods in this session. An isolated view restricts notifications to this graph only.- Compliance:
mandatory- This method is must be implemented.
-
reliablePathNotifications
void reliablePathNotifications()Reliable notifications are desired. In reliable mode, notifications are to be acknowledged usingacknowledgePathNotification().- Compliance:
mandatory- This method is must be implemented.
-
unreliablePathNotifications
void unreliablePathNotifications()Unreliable notifications are desired. In unreliable mode, notifications do not need to be acknowledged.- Compliance:
mandatory- This method is must be implemented.
-
acknowledgePathNotification
void acknowledgePathNotification(Id notificationId) throws OperationFailedException, PermissionDeniedException Acknowledge a path notification.- Parameters:
notificationId- theIdof the notification- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForNewPaths
Register for notifications of new paths.PathReceiver.newPaths()is invoked when a newPathappears in this graph.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForNewPathsByGenusType
void registerForNewPathsByGenusType(Type pathGenusType) throws OperationFailedException, PermissionDeniedException Register for notifications of new paths of the given genus type.PathReceiver.newPaths()is invoked when a newPathis connected to the specified location.- Parameters:
pathGenusType- a path genus type- Throws:
NullArgumentException-pathGenusTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForNewPathsForStartingNode
void registerForNewPathsForStartingNode(Id nodeId) throws OperationFailedException, PermissionDeniedException Register for notifications of new paths from the given node.PathReceiver.newPaths()is invoked when a newPathis connected to the specified location.- Parameters:
nodeId- theIdof theNodeto monitor- Throws:
NullArgumentException-nodeIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForNewPathsForEndingNode
void registerForNewPathsForEndingNode(Id nodeId) throws OperationFailedException, PermissionDeniedException Register for notifications of new paths to the given node.PathReceiver.newPaths()is invoked when a newPathis connected to the specified location.- Parameters:
nodeId- theIdof theNodeto monitor- Throws:
NullArgumentException-nodeIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedPaths
Registers for notification of updated paths.PathReceiver.changedPaths()is invoked when a path in this graph is changed.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedPathsByGenusType
void registerForChangedPathsByGenusType(Type pathGenusType) throws OperationFailedException, PermissionDeniedException Registers for notification of updated paths of the given genus type.PathReceiver.changedPaths()is invoked when a path in this graph is changed.- Parameters:
pathGenusType- a path genus type- Throws:
NullArgumentException-pathGenusTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedPathsForStartingNode
void registerForChangedPathsForStartingNode(Id nodeId) throws OperationFailedException, PermissionDeniedException Registers for notification of updated paths from the given node.PathReceiver.changedPaths()is invoked when a path in this graph is changed.- Parameters:
nodeId- theIdof theNodeto monitor- Throws:
NullArgumentException-nodeIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedPathsForEndingNode
void registerForChangedPathsForEndingNode(Id nodeId) throws OperationFailedException, PermissionDeniedException Registers for notification of updated paths to the given node.PathReceiver.changedPaths()is invoked when a path in this graph is changed.- Parameters:
nodeId- theIdof theNodeto monitor- Throws:
NullArgumentException-nodeIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedPath
Registers for notification of an updated path.PathReceiver.changedPaths()is invoked when the specified path in this graph is changed.- Parameters:
pathId- theIdof thePathto monitor- Throws:
NullArgumentException-pathIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedPaths
Registers for notification of deleted paths.PathReceiver.deletedPaths()is invoked when a path is deleted or removed from this graph.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedPathsByGenusType
void registerForDeletedPathsByGenusType(Type pathGenusType) throws OperationFailedException, PermissionDeniedException Registers for notification of deleted paths of the given genus type.PathReceiver.deletedPatsh()is invoked when a path is deleted or removed from this graph.- Parameters:
pathGenusType- a path genus type- Throws:
NullArgumentException-pathGenusTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedPathsForStartingNode
void registerForDeletedPathsForStartingNode(Id nodeId) throws OperationFailedException, PermissionDeniedException Register for notifications of removed paths from the given node.PathReceiver.deletedPaths()is invoked when a newPathis removed from the specified location.- Parameters:
nodeId- theIdof theNodeto monitor- Throws:
NullArgumentException-nodeIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedPathsForEndingNode
void registerForDeletedPathsForEndingNode(Id nodeId) throws OperationFailedException, PermissionDeniedException Register for notifications of removed paths to the given node.PathReceiver.deletedPaths()is invoked when a newPathis removed from the specified location.- Parameters:
nodeId- theIdof theNodeto monitor- Throws:
NullArgumentException-nodeIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedPath
Registers for notification of a deleted path.PathReceiver.deletedPaths()is invoked when the specified path is deleted or removed from this graph.- Parameters:
pathId- theIdof thePathto monitor- Throws:
NullArgumentException-pathIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-