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

This session provides methods to apply RelationshipEnablers to Relationships. A Relationship with multiple RelationshipEnablers means any positive rule evaluation across the enablers result in an effective Relationship.

MethodgetFamilyId
Description

Gets the Family Id associated with this session.

Returnosid.id.Idthe Family Id associated with this session
CompliancemandatoryThis method must be implemented.
MethodgetFamily
Description

Gets the Family associated with this session.

Returnosid.relationship.Familythe family
ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodcanAssignRelationshipEnablers
Description

Tests if this user can alter relationship enabler/relationship 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.
MethodassignRelationshipEnablerToRelationship
Description

Adds an existing RelationshipEnabler to a Relationship.

Parametersosid.id.IdrelationshipEnablerIdthe Id of the RelationshipEnabler
osid.id.IdrelationshipIdthe Id of the Relationship
ErrorsALREADY_EXISTS relationshipEnablerId is already applied to relationshipId
NOT_FOUND relationshipEnablerId or relationshipId not found
NULL_ARGUMENT relationshipEnablerId or relationshipId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodunassignRelationshipEnablerFromRelationship
Description

Removes a RelationshipEnabler from a Relationship.

Parametersosid.id.IdrelationshipEnablerIdthe Id of the RelationshipEnabler
osid.id.IdrelationshipIdthe Id of the Relationship
ErrorsNOT_FOUND relationshipEnablerId or relationshipId not found or relationshipEnablerId not applied to relationshipId
NULL_ARGUMENT relationshipEnablerId or relationshipId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodcanSequenceRelationshipEnablers
Description

Tests if this user can order RelationshipEnablers. A return of true does not guarantee successful authorization. A return of false indicates that it is known sequencing operations will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer sequencing operations to an unauthorized user.

Returnboolean false if RelationshipEnabler ordering is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethodmoveRelationshipEnablerAhead
Description

Reorders relationship enablers for a relationship by moving the specified relationship enabler in front of a reference relationship enabler.

Parametersosid.id.IdrelationshipEnablerIdthe Id of a RelationshipnEnabler
osid.id.IdrelationshipIdthe Id of a Relationship
osid.id.IdreferenceIdthe reference relationship enabler Id
ErrorsNOT_FOUND relationshipEnablerId, relationshipId, or referenceId not found or, relationshipnEnablerId or referenceId not related to relationshipId
NULL_ARGUMENT relationshipEnablerId, relationshipId, or referenceId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodmoveRelationshipEnablerBehind
Description

Reorders relationship enablers for a relationship by moving the specified relationship enabler behind a reference relationship enabler.

Parametersosid.id.IdrelationshipEnablerIdthe Id of a RelationshipnEnabler
osid.id.IdrelationshipIdthe Id of a Relationship
osid.id.IdreferenceIdthe reference relationship enabler Id
ErrorsNOT_FOUND relationshipEnablerId, relationshipId, or referenceId not found or, relationshipnEnablerId or referenceId not related to relationshipId
NULL_ARGUMENT relationshipEnablerId, relationshipId, or referenceId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodorderRelationshipEnablers
Description

Reorders a set of relationship enablers for a relationship.

Parametersosid.id.Id[]relationshipEnablerIdsthe Ids for a set of RelationshipnEnablers
osid.id.IdrelationshipIdthe Id of a Relationship
ErrorsNOT_FOUND relationshipId not found or, an relationshipEnablerId not related to relationshipId
NULL_ARGUMENT relationshipEnablerIds or relationshipId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.