| Interface | osid.ontology.SubjectHierarchyDesignSession | ||
|---|---|---|---|
| Implements | osid.OsidSession | ||
| Description | This session defines methods for managing a hierarchy of 
                 | ||
| Method | getSubjectHierarchyId | ||
| Description | Gets the hierarchy  | ||
| Return | osid.id.Id | the hierarchy  Id associated with this session | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getSubjectHierarchy | ||
| 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 | canModifySubjectHierarchy | ||
| Description | Tests if this user can change the hierarchy. A return 
                    of true does not guarantee successful authorization. A 
                    return of false indicates that it is known performing any 
                    update will result in a  | ||
| Return | boolean |  false if changing this hierarchy is not authorized, 
true otherwise | |
| Compliance | mandatory | This method must be implemented. | |
| Method | addRootSubject | ||
| Description | Adds a root subject. | ||
| Parameters | osid.id.Id | subjectId | the  Id of a subject | 
| Errors | ALREADY_EXISTS |  subjectId is already in hierarchy | |
| NOT_FOUND |  subjectId not found | ||
| NULL_ARGUMENT |  subjectId is null  | ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | removeRootSubject | ||
| Description | Removes a root subject. | ||
| Parameters | osid.id.Id | subjectId | the  Id of a subject | 
| Errors | NOT_FOUND |  subjectId not found | |
| NULL_ARGUMENT |  subjectId is null  | ||
| OPERATION_FAILED | the root subjects | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | addChildSubject | ||
| Description | Adds a child to a subject. | ||
| Parameters | osid.id.Id | subjectId | the  Id of a subject | 
| osid.id.Id | childId | the  Id of the new child | |
| Errors | ALREADY_EXISTS |  subjectId is already a parent of childId  | |
| NOT_FOUND |  subjectId or childId not found | ||
| NULL_ARGUMENT |  subjectId or childId is null  | ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | removeChildSubject | ||
| Description | Removes a child from a subject. | ||
| Parameters | osid.id.Id | subjectId | the  Id of a subject | 
| osid.id.Id | childId | the  Id of the new child | |
| Errors | NOT_FOUND |  subjectId not a parent of childId  | |
| NULL_ARGUMENT |  subjectId or childId is null  | ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | removeChildSubjects | ||
| Description | Removes all children from a subject. | ||
| Parameters | osid.id.Id | subjectId | the  Id of a subject | 
| Errors | NOT_FOUND |  subjectId not found | |
| NULL_ARGUMENT |  subjectId is null  | ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |