OSID Logo
OSID Specifications
ontology package
Version 3.0.0
Release Candidate Preview
Interfaceosid.ontology.SubjectHierarchyDesignSession
Implementsosid.OsidSession
Description

This session defines methods for managing a hierarchy of Subject objects. Each node in the hierarchy is a unique Subject.

MethodgetSubjectHierarchyId
Description

Gets the hierarchy Id associated with this session.

Returnosid.id.Idthe hierarchy Id associated with this session
CompliancemandatoryThis method must be implemented.
MethodgetSubjectHierarchy
Description

Gets the hierarchy associated with this session.

Returnosid.hierarchy.Hierarchythe hierarchy associated with this session
ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodcanModifySubjectHierarchy
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 PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer these operations to an unauthorized user.

Returnboolean false if changing this hierarchy is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethodaddRootSubject
Description

Adds a root subject.

Parametersosid.id.IdsubjectIdthe Id of a subject
ErrorsALREADY_EXISTS subjectId is already in hierarchy
NOT_FOUND subjectId not found
NULL_ARGUMENT subjectId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodremoveRootSubject
Description

Removes a root subject.

Parametersosid.id.IdsubjectIdthe Id of a subject
ErrorsNOT_FOUND subjectId not found
NULL_ARGUMENT subjectId is null
OPERATION_FAILEDthe root subjects
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodaddChildSubject
Description

Adds a child to a subject.

Parametersosid.id.IdsubjectIdthe Id of a subject
osid.id.IdchildIdthe Id of the new child
ErrorsALREADY_EXISTS subjectId is already a parent of childId
NOT_FOUND subjectId or childId not found
NULL_ARGUMENT subjectId or childId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodremoveChildSubject
Description

Removes a child from a subject.

Parametersosid.id.IdsubjectIdthe Id of a subject
osid.id.IdchildIdthe Id of the new child
ErrorsNOT_FOUND subjectId not a parent of childId
NULL_ARGUMENT subjectId or childId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodremoveChildSubjects
Description

Removes all children from a subject.

Parametersosid.id.IdsubjectIdthe Id of a subject
ErrorsNOT_FOUND subjectId not found
NULL_ARGUMENT subjectId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.