OSID Logo
OSID Specifications
relationship rules package
Version 3.1.0
Interfaceosid.relationship.rules.RelationshipEnablerFamilyAssignmentSession
Implementsosid.OsidSession
Used Byosid.relationship.rules.RelationshipRulesManager
osid.relationship.rules.RelationshipRulesProxyManager
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
Compliancemandatory This 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.IdfamilyId the Id of the Family
Returnboolean false if mapping is not authorized, true otherwise
ErrorsNULL_ARGUMENT familyId is null
Compliancemandatory This 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.IdfamilyId the Id of the Family
Returnosid.id.IdList list of assignable relationship Ids
ErrorsNULL_ARGUMENT familyId is null
OPERATION_FAILED unable to complete request
Compliancemandatory This 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.IdfamilyId the Id of the Family
osid.id.IdrelationshipEnablerId the Id of the RelationshipEnabler
Returnosid.id.IdList list of assignable family Ids
ErrorsNULL_ARGUMENT familyId or relationshipEnablerId is null
OPERATION_FAILED unable to complete request
Compliancemandatory This method must be implemented.
MethodassignRelationshipEnablerToFamily
Description

Adds an existing RelationshipEnabler to a Family.

Parametersosid.id.IdrelationshipEnablerId the Id of the RelationshipEnabler
osid.id.IdfamilyId the 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_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodunassignRelationshipEnablerFromFamily
Description

Removes a RelationshipEnabler from a Family.

Parametersosid.id.IdrelationshipEnablerId the Id of the RelationshipEnabler
osid.id.IdfamilyId the 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_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodreassignRelationshipEnablerToFamily
Description

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

Parametersosid.id.IdrelationshipEnablerId the Id of the RelationshipEnabler
osid.id.IdfromFamilyId the Id of the current Family
osid.id.IdtoFamilyId the Id of the destination Family
ErrorsALREADY_EXISTS relationshipEnablerId already assigned to toFamilyId
NOT_FOUND relationshipEnablerId, fromFamilyId, or toFamilyId not found or relationshipEnablerId not mapped to fromFamilyId
NULL_ARGUMENT relationshipEnabelrId, fromFamilyId, or toFamilyId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.