| Interface | osid.learning.ObjectiveBankHierarchySession | ||
|---|---|---|---|
| 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 | getObjectiveBankHierarchyId | ||
| Description | 
                     Gets the hierarchy   | ||
| Return | osid.id.Id | the hierarchy  Id  associated with this session  | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getObjectiveBankHierarchy | ||
| 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 | canAccessObjectiveBankHierarchy | ||
| 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 | useComparativeObjectiveBankView | ||
| Description | 
                     The returns from the objective bank 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 | usePlenaryObjectiveBankView | ||
| Description | 
                     A complete view of the   | ||
| Compliance | mandatory | This method is must be implemented. | |
| Method | getRootObjectiveBankIds | ||
| Description | 
                     Gets the root objective bank   | ||
| Return | osid.id.IdList | the root objective bank  Ids   | |
| Errors | OPERATION_FAILED | unable to complete request | |
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | getRootObjectiveBanks | ||
| Description | 
                     Gets the root objective banks in this objective bank hierarchy.  | ||
| Return | osid.learning.ObjectiveBankList | the root objective banks | |
| Errors | OPERATION_FAILED | unable to complete request | |
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method is must be implemented. | |
| Method | hasParentObjectiveBanks | ||
| Description | 
                     Tests if the   | ||
| Parameters | osid.id.Id | objectiveBankId | the  Id  of an objective bank  | 
| Return | boolean |  true  if the objective bank has parents,  false  
otherwise  | |
| Errors | NOT_FOUND |  objectiveBankId  is not found  |                 |
| NULL_ARGUMENT |  objectiveBankId  is  null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | isParentOfObjectiveBank | ||
| Description | 
                     Tests if an   | ||
| Parameters | osid.id.Id | id | an  Id   | 
osid.id.Id | objectiveBankId | the  Id  of an objective bank  | |
| Return | boolean |  true  if this  id  is a parent of  
objectiveBankId,   false  otherwise  | |
| Errors | NOT_FOUND |  objectiveBankId  is not found  |                 |
| NULL_ARGUMENT |  id  or  objectiveBankId  is  null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Provider Notes | 
                                       If   | ||
| Method | getParentObjectiveBankIds | ||
| Description | 
                     Gets the parent   | ||
| Parameters | osid.id.Id | objectiveBankId | the  Id  of an objective bank  | 
| Return | osid.id.IdList | the parent  Ids  of the objective bank  | |
| Errors | NOT_FOUND |  objectiveBankId  is not found  |                 |
| NULL_ARGUMENT |  objectiveBankId  is  null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | getParentObjectiveBanks | ||
| Description | 
                     Gets the parents of the given objective bank.  | ||
| Parameters | osid.id.Id | objectiveBankId | the  Id  of an objective bank  | 
| Return | osid.learning.ObjectiveBankList | the parents of the objective bank | |
| Errors | NOT_FOUND |  objectiveBankId  is not found  |                 |
| NULL_ARGUMENT |  objectiveBankId  is  null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | isAncestorOfObjectiveBank | ||
| Description | 
                     Tests if an   | ||
| Parameters | osid.id.Id | id | an  Id   | 
osid.id.Id | objectiveBankId | the  Id  of an objective bank  | |
| Return | boolean |  true  if this  id  is an ancestor of  
objectiveBankId,   false  otherwise  | |
| Errors | NOT_FOUND |  objectiveBankId  is not found  |                 |
| NULL_ARGUMENT |  id  or  objectiveBankId  is  null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Provider Notes | 
                                       If   | ||
| Method | hasChildObjectiveBanks | ||
| Description | 
                     Tests if an objective bank has any children.  | ||
| Parameters | osid.id.Id | objectiveBankId | the  Id  of an objective bank  | 
| Return | boolean |  true  if the  objectiveBankId  has children, 
 false  otherwise  | |
| Errors | NOT_FOUND |  objectiveBankId  is not found  |                 |
| NULL_ARGUMENT |  objectiveBankId  is  null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | isChildOfObjectiveBank | ||
| Description | 
                     Tests if an objective bank is a direct child of another.  | ||
| Parameters | osid.id.Id | id | an  Id   | 
osid.id.Id | objectiveBankId | the  Id  of an objective bank  | |
| Return | boolean |  true  if the  id  is a child of  
objectiveBankId,   false  otherwise  | |
| Errors | NOT_FOUND |  objectiveBankId  is not found  |                 |
| NULL_ARGUMENT |  id  or  objectiveBankId  is  null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Provider Notes | 
                                       If   | ||
| Method | getChildObjectiveBankIds | ||
| Description | 
                     Gets the child   | ||
| Parameters | osid.id.Id | objectiveBankId | the  Id  to query  | 
| Return | osid.id.IdList | the children of the objective bank | |
| Errors | NOT_FOUND |  objectiveBankId  is not found  |                 |
| NULL_ARGUMENT |  objectiveBankId  is  null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | getChildObjectiveBanks | ||
| Description | 
                     Gets the children of the given objective bank.  | ||
| Parameters | osid.id.Id | objectiveBankId | the  Id  to query  | 
| Return | osid.learning.ObjectiveBankList | the children of the objective bank | |
| Errors | NOT_FOUND |  objectiveBankId  is not found  |                 |
| NULL_ARGUMENT |  objectiveBankId  is  null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | isDescendantOfObjectiveBank | ||
| Description | 
                     Tests if an   | ||
| Parameters | osid.id.Id | id | an  Id   | 
osid.id.Id | objectiveBankId | the  Id  of an objective bank  | |
| Return | boolean |  true  if the  id  is a descendant of the  
objectiveBankId,   false  otherwise  | |
| Errors | NOT_FOUND |  objectiveBankId  is not found  |                 |
| NULL_ARGUMENT |  id  or  objectiveBankId  is  null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Provider Notes | 
                                       If   | ||
| Method | getObjectiveBankNodeIds | ||
| Description | 
                     Gets a portion of the hierarchy for the given objective bank.  | ||
| Parameters | osid.id.Id | objectiveBankId | 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 catalog node | |
| Errors | NOT_FOUND |  objectiveBankId  not found  |                 |
| NULL_ARGUMENT |  objectiveBankId  is  null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | getObjectiveBankNodes | ||
| Description | 
                     Gets a portion of the hierarchy for the given objective bank.  | ||
| Parameters | osid.id.Id | objectiveBankId | 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.learning.ObjectiveBankNode | an objective bank node | |
| Errors | NOT_FOUND |  objectiveBankId  not found  |                 |
| NULL_ARGUMENT |  objectiveBankId  is  null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |