| Interface | osid.offering.CatalogueHierarchySession | ||
|---|---|---|---|
| Implements | osid.OsidSession | ||
| Description | This session defines methods for traversing a hierarchy of 
                  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  This session defines views that offer differing behaviors when retrieving multiple objects. 
 | ||
| Method | getCatalogueHierarchyId | ||
| Description | Gets the hierarchy  | ||
| Return | osid.id.Id | the hierarchy  Id associated with this session | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getCatalogueHierarchy | ||
| Description | Gets the hierarchy associated with this session. | ||
| Return | osid.hierarchy.Hierarchy | the hierarchy associated with this session | |
| Errors | OPERATION_FAILED | unable to complete request | |
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | canAccessCatalogueHierarchy | ||
| Description | Tests if this user can perform hierarchy queries. 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 hierarchy traversal methods are not authorized, true otherwise | |
| Compliance | mandatory | This method must be implemented. | |
| Method | useComparativeCatalogueView | ||
| Description | The returns from the catalogue 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 | usePlenaryCatalogueView | ||
| Description | A complete view of the  | ||
| Compliance | mandatory | This method is must be implemented. | |
| Method | getRootCatalogueIds | ||
| Description | Gets the root catalogue  | ||
| Return | osid.id.IdList | the root catalogue  Ids  | |
| Errors | OPERATION_FAILED | unable to complete request | |
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | getRootCatalogues | ||
| Description | Gets the root catalogues in the catalogue hierarchy. A 
                    node with no parents is an orphan. While all catalogue 
                     | ||
| Return | osid.offering.CatalogueList | the root catalogues | |
| Errors | OPERATION_FAILED | unable to complete request | |
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method is must be implemented. | |
| Method | hasParentCatalogues | ||
| Description | Tests if the  | ||
| Parameters | osid.id.Id | catalogueId | a catalogue  Id  | 
| Return | boolean |  true if the catalogue has parents, f alse otherwise | |
| Errors | NOT_FOUND |  catalogueId is not found | |
| NULL_ARGUMENT |  catalogueId is null  | ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | isParentOfCatalogue | ||
| Description | Tests if an  | ||
| Parameters | osid.id.Id | id | an  Id  | 
| osid.id.Id | catalogueId | the  Id of a catalogue | |
| Return | boolean |  true if this id is a parent of 
catalogueId, f alse otherwise | |
| Errors | NOT_FOUND |  catalogueId is not found | |
| NULL_ARGUMENT |  id or catalogueId is null  | ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Provider Notes | If  | ||
| Method | getParentCatalogueIds | ||
| Description | Gets the parent  | ||
| Parameters | osid.id.Id | catalogueId | a catalogue  Id  | 
| Return | osid.id.IdList | the parent  Ids of the catalogue | |
| Errors | NOT_FOUND |  catalogueId is not found | |
| NULL_ARGUMENT |  catalogueId is null  | ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | getParentCatalogues | ||
| Description | Gets the parent catalogues of the given  | ||
| Parameters | osid.id.Id | catalogueId | the  Id of the Catalogue to query | 
| Return | osid.offering.CatalogueList | the parent catalogues of the  id  | |
| Errors | NOT_FOUND | a  Catalogue identified by Id is not found | |
| NULL_ARGUMENT |  catalogueId is null  | ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | isAncestorOfCatalogue | ||
| Description | Tests if an  | ||
| Parameters | osid.id.Id | id | an  Id  | 
| osid.id.Id | catalogueId | the  Id of a catalogue | |
| Return | boolean |  tru e if this id is an ancestor of 
catalogueId,  false otherwise | |
| Errors | NOT_FOUND |  catalogueId is not found | |
| NULL_ARGUMENT |  id or catalogueId is null  | ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Provider Notes | If  | ||
| Method | hasChildCatalogues | ||
| Description | Tests if a catalogue has any children. | ||
| Parameters | osid.id.Id | catalogueId | a catalogue  Id  | 
| Return | boolean |  true if the catalogueId has children, 
false otherwise | |
| Errors | NOT_FOUND |  catalogueId is not found | |
| NULL_ARGUMENT |  bocatalogueId is null okId is null  | ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | isChildOfCatalogue | ||
| Description | Tests if a catalogue is a direct child of another. | ||
| Parameters | osid.id.Id | id | an  Id  | 
| osid.id.Id | catalogueId | the  Id of a catalogue | |
| Return | boolean |  true if the id is a child of 
catalogueId,  false otherwise | |
| Errors | NOT_FOUND |  catalogueId is not found | |
| NULL_ARGUMENT |  id or catalogueId is null  | ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Provider Notes | If  | ||
| Method | getChildCatalogueIds | ||
| Description | Gets the child  | ||
| Parameters | osid.id.Id | catalogueId | the  Id to query | 
| Return | osid.id.IdList | the children of the catalogue | |
| Errors | NOT_FOUND |  catalogueId is not found | |
| NULL_ARGUMENT |  catalogueId is null  | ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | getChildCatalogues | ||
| Description | Gets the child catalogues of the given  | ||
| Parameters | osid.id.Id | catalogueId | the  Id of the Catalogue to query | 
| Return | osid.offering.CatalogueList | the child catalogues of the  id  | |
| Errors | NOT_FOUND | a  Catalogue identified by Id is not found | |
| NULL_ARGUMENT |  catalogueId is null  | ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | isDescendantOfCatalogue | ||
| Description | Tests if an  | ||
| Parameters | osid.id.Id | id | an  Id  | 
| osid.id.Id | catalogueId | the  Id of a catalogue | |
| Return | boolean |  true if the id is a descendant of the 
catalogueId,  false otherwise | |
| Errors | NOT_FOUND |  catalogueId is not found | |
| NULL_ARGUMENT |  id or catalogueId is null  | ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Provider Notes | If  | ||
| Method | getCatalogueNodeIds | ||
| Description | Gets a portion of the hierarchy for the given catalogue. | ||
| Parameters | osid.id.Id | catalogueId | the  Id to query | 
| cardinal | ancestorLevels | the maximum number of ancestor levels to include. A value of 0 returns no parents in the node. | |
| cardinal | descendantLevels | the maximum number of descendant levels to include. A value of 0 returns no children in the node. | |
| boolean | includeSiblings |  true to include the siblings of the given node, false 
to omit the siblings | |
| Return | osid.hierarchy.Node | a catalogue node | |
| Errors | NOT_FOUND |  catalogueId is not found | |
| NULL_ARGUMENT |  catalogueId is null  | ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | getCatalogueNodes | ||
| Description | Gets a portion of the hierarchy for the given catalogue. | ||
| Parameters | osid.id.Id | catalogueId | the  Id to query | 
| cardinal | ancestorLevels | the maximum number of ancestor levels to include. A value of 0 returns no parents in the node. | |
| cardinal | descendantLevels | the maximum number of descendant levels to include. A value of 0 returns no children in the node. | |
| boolean | includeSiblings |  true to include the siblings of the given node, false 
to omit the siblings | |
| Return | osid.offering.CatalogueNode | a catalogue node | |
| Errors | NOT_FOUND |  catalogueId is not found | |
| NULL_ARGUMENT |  catalogueId is null  | ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |