| Interface | osid.topology.TopologyTraversalSession | ||
|---|---|---|---|
| Implements | osid.OsidSession | ||
| Description | 
                 This session defines methods to traverse through a graph.  | ||
| Method | getGraphId | ||
| Description | 
                     Gets the   | ||
| Return | osid.id.Id | the  Graph Id  associated with this session  | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getGraph | ||
| Description | 
                     Gets the   | ||
| Return | osid.topology.Graph | the graph | |
| Errors | OPERATION_FAILED | unable to complete request | |
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | canTraverseTopology | ||
| Description | 
                     Tests if this user can traverse the topology. 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 a   | ||
| Return | boolean |  false  if topology methods are not authorized,  true 
 otherwise  | |
| Compliance | mandatory | This method must be implemented. | |
| Method | useComparativeNodeView | ||
| Description | 
                     The returns from the traversal methods may omit or translate elements based on this session, such as authorization, and not result in an error. This view is used when greater interoperability is desired at the expense of precision.  | ||
| Compliance | mandatory | This method is must be implemented. | |
| Method | usePlenaryNodeView | ||
| Description | 
                     A complete view of the method returns is desired. Methods will return what is requested or result in an error. This view is used when greater precision is desired at the expense of interoperability.  | ||
| Compliance | mandatory | This method is must be implemented. | |
| Method | useFederatedGraphView | ||
| Description | 
                     Federates the view for methods in this session. A federated view will include edges in graphs which are children of this graph in the graph hierarchy.  | ||
| Compliance | mandatory | This method is must be implemented. | |
| Method | useIsolatedGraphView | ||
| Description | 
                     Isolates the view for methods in this session. An isolated view restricts retrievals to this graph only.  | ||
| Compliance | mandatory | This method is must be implemented. | |
| Method | getConnectedEdges | ||
| Description | 
                     Gets all the edges for a given node.  | ||
| Parameters | osid.id.Id | nodeId | the given node  Id   | 
cardinal | hops | the number of hops to include. 0 returns an empty list. 1 returns the immediate connected edges. | |
| Return | osid.topology.EdgeList | a list of edges | |
| Errors | NOT_FOUND |  nodeId  is not found  |                 |
| NULL_ARGUMENT |  nodeId  is  null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | getNeighboringNodes | ||
| Description | 
                     Gets the neighboring nodes of the given node.  | ||
| Parameters | osid.id.Id | nodeId | the given node  Id   | 
cardinal | hops | the number of hops to include. 0 returns the given node. 1 returns the immediate neighbors. | |
| Return | osid.topology.NodeList | the list of neighboring nodes | |
| Errors | NOT_FOUND |  nodeId  is not found  |                 |
| NULL_ARGUMENT |  nodeId  is  null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | getInboundEdges | ||
| Description | 
                     Gets a list of directional edges into the given node.  | ||
| Parameters | osid.id.Id | nodeId | the given node  Id   | 
cardinal | hops | the number of hops to include. 0 returns an empty list. 1 returns the immediate connected edges. | |
| Return | osid.topology.EdgeList | a list of inbound edges | |
| Errors | NOT_FOUND |  nodeId  is not found  |                 |
| NULL_ARGUMENT |  nodeId  is  null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | getOutboundEdges | ||
| Description | 
                     Gets a list of directional edges out of the given node.  | ||
| Parameters | osid.id.Id | nodeId | the given node  Id   | 
cardinal | hops | the number of hops to include. 0 returns an empty list. 1 returns the immediate connected edges. | |
| Return | osid.topology.EdgeList | a list of outbound edges | |
| Errors | NOT_FOUND |  nodeId  is not found  |                 |
| NULL_ARGUMENT |  nodeId  is  null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | getDisconnectedNodes | ||
| Description | 
                     Gets the nodes with no edges.  | ||
| Return | osid.topology.NodeList | the list of neighboring nodes | |
| Errors | OPERATION_FAILED | unable to complete request | |
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |