| Interface | osid.topology.path.Path | ||
|---|---|---|---|
| Implements | osid.OsidRelationship | ||
osid.Aggregateable | |||
| Description | 
                 A   | ||
| Method | getStartingNodeId | ||
| Description | 
                     Gets the   | ||
| Return | osid.id.Id | the starting node  Id   | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getStartingNode | ||
| Description | 
                     Gets the starting node of this path.  | ||
| Return | osid.topology.Node | the starting node | |
| Errors | OPERATION_FAILED | unable to complete request | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getEndingNodeId | ||
| Description | 
                     Gets the   | ||
| Return | osid.id.Id | the ending node  Id   | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getEndingNode | ||
| Description | 
                     Gets the ending node of this path.  | ||
| Return | osid.topology.Node | the ending node | |
| Errors | OPERATION_FAILED | unable to complete request | |
| Compliance | mandatory | This method must be implemented. | |
| Method | isComplete | ||
| Description | 
                     Tests if all edges exist between the start and end nodes. A path may be complete and inactive.  | ||
| Return | boolean |  true  if the path is complete,  false  otherwise  | |
| Compliance | mandatory | This method must be implemented. | |
| Method | isClosed | ||
| Description | 
                     Test if the starting node and ending node are equal.  | ||
| Return | boolean |  true  if the path is closed,  false  otherwise  | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getHops | ||
| Description | 
                     Gets the total number of nodes of this path.  | ||
| Return | cardinal | the total path hops | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getDistance | ||
| Description | 
                     Gets the total distance of this path.  | ||
| Return | decimal | the total path distance | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getCost | ||
| Description | 
                     Gets the total cost of this path.  | ||
| Return | decimal | the total path cost | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getEdgeIds | ||
| Description | 
                     Gets the edge   | ||
| Return | osid.id.IdList | the edge  Ids   | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getEdges | ||
| Description | 
                     Gets the edges of this path.  | ||
| Return | osid.topology.EdgeList | the edges | |
| Errors | OPERATION_FAILED | unable to complete request | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getPathRecord | ||
| Description | 
                     Gets the path record corresponding to the given   | ||
| Parameters | osid.type.Type | pathRecordType | the type of path record to retrieve | 
| Return | osid.topology.path.records.PathRecord | the path record | |
| Errors | NULL_ARGUMENT |  pathRecordType  is  null   |                 |
| OPERATION_FAILED | unable to complete request | ||
| UNSUPPORTED |  hasRecordType(pathRecordType)  is  false   |                 ||
| Compliance | mandatory | This method must be implemented. | |