Interface HierarchyTraversalSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface HierarchyTraversalSession extends OsidSession

This session defines methods for traversing a hierarchy. Each node in the hierarchy is a unique OSID Id . The hierarchy may be traversed recursively to establish the tree structure through getParents() and getChildren() . To relate these Ids to another OSID, getNodes() can be used for retrievals that can be used for bulk lookups in other OSIDs.

Any Id available in an associated OSID is known to this hierarchy. A lookup up a particular Id in this hierarchy for the purposes of establishing a starting point for traversal or determining relationships should use the Id returned from the corresponding OSID object, not an Id that has been stored, to avoid problems with Id translation or aliasing.

A user may not be authorized to traverse the entire hierarchy. Parts of the hierarchy may be made invisible through omission from the returns of getParents() or getChildren() in lieu of a PERMISSION_DENIED error that may disrupt the traversal through authorized pathways.