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

This session manages queries and sequencing to create "smart" dynamic catalogs. A RelationshipQuery can be retrieved from this session and mapped to this Family to create a virtual collection of Relationships. The entries may be sequenced using the RelationshipSearchOrder from this session.

This Family has a default query that matches any relationship and a default search order that specifies no sequencing. The queries may be examined using a RelationshipQueryInspector. The query may be modified by converting the inspector back to a RelationshipQuery.

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.
MethodcanManageSmartFamilies
Description

Tests if this user can manage smart families. A return of true does not guarantee successful authorization. A return of false indicates that it is known all 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 smart operations.

Returnboolean false if smart family methods are not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethodgetRelationshipQuery
Description

Gets a relationship query.

Returnosid.relationship.RelationshipQuerythe relationship query
CompliancemandatoryThis method must be implemented.
MethodgetRelationshipSearchOrder
Description

Gets a relationship search order.

Returnosid.relationship.RelationshipSearchOrderthe relationship search order
CompliancemandatoryThis method must be implemented.
MethodapplyRelationshipQuery
Description

Applies a relationship query to this family.

Parametersosid.relationship.RelationshipQueryrelationshipQuerythe relationship query
ErrorsNULL_ARGUMENT relationshipQuery is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure occurred
UNSUPPORTED relationshipQuery not of this service
CompliancemandatoryThis method must be implemented.
MethodinspectRelationshipQuery
Description

Gets a relationship query inspector for this family.

Returnosid.relationship.RelationshipQueryInspectorthe relationship query inspector
ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure occurred
CompliancemandatoryThis method must be implemented.
MethodapplyRelationshipSequencing
Description

Applies a relationship search order to this family.

Parametersosid.relationship.RelationshipSearchOrderrelationshipSearchOrderthe relationship search order
ErrorsNULL_ARGUMENT relationshipSearchOrder is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure occurred
UNSUPPORTED relationshipSearchOrder not of this service
CompliancemandatoryThis method must be implemented.
MethodgetRelationshipQueryFromInspector
Description

Gets a relationship query from an inspector.

Parametersosid.relationship.RelationshipQueryInspectorrelationshipQueryInspectora relationship query inspector
Returnosid.relationship.RelationshipQuerythe relationship query
ErrorsNULL_ARGUMENT relatinshipQueryInspector is null
UNSUPPORTED relationshipQueryInspector is not of this service
CompliancemandatoryThis method must be implemented.