OSID Logo
OSID Specifications
relationship rules package
Version 3.0.0
Release Candidate Preview
Interfaceosid.relationship.rules.RelationshipEnablerFamilyAssignmentSession
Implementsosid.OsidSession
Description

This session provides methods to re-assign RelationshipEnabler to Family mappings. A RelationshipEnabler may appear in multiple Family objects and removing the last reference to a RelationshipEnabler is the equivalent of deleting it. Each Relationship may have its own authorizations governing who is allowed to operate on it.

Adding a reference of a RelationshipEnabler to another Family is not a copy operation (eg: does not change its Id ).

MethodcanAssignRelationshipEnablers
Description

Tests if this user can alter relationship enabler/family mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known mapping methods in this session will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer lookup operations to unauthorized users.

Returnboolean false if mapping is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethodcanAssignRelationshipEnablersToFamily
Description

Tests if this user can alter relationship enabler/family mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known mapping methods in this session will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer lookup operations to unauthorized users.

Parametersosid.id.IdfamilyIdthe Id of the Family
Returnboolean false if mapping is not authorized, true otherwise
ErrorsNULL_ARGUMENT familyId is null
CompliancemandatoryThis method must be implemented.
MethodgetAssignableFamilyIds
Description

Gets a list of families including and under the given family node in which any family enabler can be assigned.

Parametersosid.id.IdfamilyIdthe Id of the Family
Returnosid.id.IdListlist of assignable relationship Ids
ErrorsNULL_ARGUMENT familyId is null
OPERATION_FAILEDunable to complete request
CompliancemandatoryThis method must be implemented.
MethodgetAssignableFamilyIdsForRelationshipEnabler
Description

Gets a list of families including and under the given family node in which a specific family enabler can be assigned.

Parametersosid.id.IdfamilyIdthe Id of the Family
osid.id.IdrelationshipEnablerIdthe Id of the RelationshipEnabler
Returnosid.id.IdListlist of assignable family Ids
ErrorsNULL_ARGUMENT familyId or relationshipEnablerId is null
OPERATION_FAILEDunable to complete request
CompliancemandatoryThis method must be implemented.
MethodassignRelationshipEnablerToFamily
Description

Adds an existing RelationshipEnabler to a Family.

Parametersosid.id.IdrelationshipEnablerIdthe Id of the RelationshipEnabler
osid.id.IdfamilyIdthe Id of the Family
ErrorsALREADY_EXISTS relationshipEnablerId is already assigned to familyId
NOT_FOUND relationshipEnablerId or familyId not found
NULL_ARGUMENT relationshipEnablerId or familyId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodunassignRelationshipEnablerFromFamily
Description

Removes a RelationshipEnabler from a Family.

Parametersosid.id.IdrelationshipEnablerIdthe Id of the RelationshipEnabler
osid.id.IdfamilyIdthe Id of the Family
ErrorsNOT_FOUND relationshipEnablerId or familyId not found or relationshipEnablerId is not assigned to familyId
NULL_ARGUMENT relationshipEnablerId or familyId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodreassignRelationshipEnablerToFamily
Description

Moves a RelationshipEnabler from one Family to another. Mappings to other Families are unaffected.

Parametersosid.id.IdrelationshipEnablerIdthe Id of the RelationshipEnabler
osid.id.IdfromFamilyIdthe Id of the current Family
osid.id.IdtoFamilyIdthe Id of the destination Family
ErrorsNOT_FOUND relationshipEnablerId, fromFamilyId, or toFamilyId not found or relationshipEnablerId not mapped to fromFamilyId
NULL_ARGUMENT relationshipEnabelrId, fromFamilyId, or toFamilyId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.