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

This session defines methods for retrieving relationships. A Relationship is mapped to two OSID Ids.

This lookup session defines several views:

  • comparative view: elements may be silently omitted or re-ordered
  • plenary view: provides a complete result set or is an error condition
  • federated family view: includes relationships in families which are children of this family in the family hierarchy
  • isolated family view: restricts lookups to this family only
  • effective relationship view: Relationship methods return only relationships currently in effect.
  • any effective relationship view: Relationship methods return both effective and ineffective relationships.

Relationships may have an additional records indicated by their respective record types. The record may not be accessed through a cast of the 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.
MethodcanLookupRelationships
Description

Tests if this user can perform Relationship lookups. 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 not offer lookup operations to unauthorized users.

Returnboolean false if lookup methods are not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethoduseComparativeRelationshipView
Description

The returns from the lookup methods may omit or translate elements based on this session, such as authorization, and not result in an error. This view is used when greater interoperability is desired at the expense of precision.

CompliancemandatoryThis method is must be implemented.
MethodusePlenaryRelationshipView
Description

A complete view of the Relationship returns is desired. Methods will return what is requested or result in an error. This view is used when greater precision is desired at the expense of interoperability.

CompliancemandatoryThis method is must be implemented.
MethoduseFederatedFamilyView
Description

Federates the view for methods in this session. A federated view will include relationships in families which are children of this family in the family hierarchy.

CompliancemandatoryThis method is must be implemented.
MethoduseIsolatedFamilyView
Description

Isolates the view for methods in this session. An isolated view restricts retrievals to this family only.

CompliancemandatoryThis method is must be implemented.
MethoduseEffectiveRelationshipView
Description

Only relationships whose effective dates are current are returned by methods in this session.

CompliancemandatoryThis method is must be implemented.
MethoduseAnyEffectiveRelationshipView
Description

All relationships of any effective dates are returned by all methods in this session.

CompliancemandatoryThis method is must be implemented.
MethodgetRelationship
Description

Gets the Relationship specified by its Id.

In plenary mode, the exact Id is found or a NOT_FOUND results. Otherwise, the returned Relationship may have a different Id than requested, such as the case where a duplicate Id was assigned to a Relationship and retained for compatibility.

In effective mode, relationships are returned that are currently effective. In any effective mode, effective relationships and those currently expired are returned.

Parametersosid.id.IdrelationshipIdthe Id of the Relationship to retrieve
Returnosid.relationship.Relationshipthe returned Relationship
ErrorsNOT_FOUNDno Relationship found with the given Id
NULL_ARGUMENT relationshipId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetRelationshipsByIds
Description

Gets a RelationshipList corresponding to the given IdList.

In plenary mode, the returned list contains all of the relationships specified in the Id list, in the order of the list, including duplicates, or an error results if an Id in the supplied list is not found or inaccessible. Otherwise, inaccessible Relationships may be omitted from the list and may present the elements in any order including returning a unique set.

In effective mode, relationships are returned that are currently effective. In any effective mode, effective relationships and those currently expired are returned.

Parametersosid.id.IdListrelationshipIdsthe list of Ids to retrieve
Returnosid.relationship.RelationshipListthe returned Relationship list
ErrorsNOT_FOUNDan Id was not found
NULL_ARGUMENT relationshipIds is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetRelationshipsByGenusType
Description

Gets a RelationshipList corresponding to the given relationship genus Type which does not include relationships of types derived from the specified Type.

In plenary mode, the returned list contains all known relationships or an error results. Otherwise, the returned list may contain only those relationships that are accessible through this session.

In effective mode, relationships are returned that are currently effective. In any effective mode, effective relationships and those currently expired are returned.

Parametersosid.type.TyperelationshipGenusTypea relationship genus type
Returnosid.relationship.RelationshipListthe returned Relationship list
ErrorsNULL_ARGUMENT relationshipGenusType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetRelationshipsByParentGenusType
Description

Gets a RelationshipList corresponding to the given relationship genus Type and include any additional relationships with genus types derived from the specified Type.

In plenary mode, the returned list contains all known relationships or an error results. Otherwise, the returned list may contain only those relationships that are accessible through this session.

In effective mode, relationships are returned that are currently effective. In any effective mode, effective relationships and those currently expired are returned.

Parametersosid.type.TyperelationshipGenusTypea relationship genus type
Returnosid.relationship.RelationshipListthe returned Relationship list
ErrorsNULL_ARGUMENT relationshipGenusType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetRelationshipsByRecordType
Description

Gets a RelationshipList containing the given relationship record Type.

In plenary mode, the returned list contains all known relationships or an error results. Otherwise, the returned list may contain only those relationships that are accessible through this session.

In effective mode, relationships are returned that are currently effective. In any effective mode, effective relationships and those currently expired are returned.

Parametersosid.type.TyperelationshipRecordTypea relationship record type
Returnosid.relationship.RelationshipListthe returned RelationshipList
ErrorsNULL_ARGUMENT relationshipRecordType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetRelationshipsOnDate
Description

Gets a RelationshipList effective during the entire given date range inclusive but not confined to the date range.

In plenary mode, the returned list contains all of the relationships corresponding to date or an error results if a relationship is inaccessible. Otherwise, inaccessible Relationships may be omitted from the list.

In effective mode, relationships are returned that are currently effective in addition to being effective during the given dates. In any effective mode, effective relationships and those currently expired are returned.

Parametersosid.calendaring.DateTimefromstarting date
osid.calendaring.DateTimetoending date
Returnosid.relationship.RelationshipListthe relationships
ErrorsINVALID_ARGUMENT from is greater than to
NULL_ARGUMENT from or to is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetRelationshipsForSource
Description

Gets a RelationshipList corresponding to the given peer Id.

In plenary mode, the returned list contains all of the relationships corresponding to the given peer or an error results if a relationship is inaccessible. Otherwise, inaccessible Relationships may be omitted from the list and may present the elements in any order including returning a unique set.

In effective mode, relationships are returned that are currently effective. In any effective mode, effective relationships and those currently expired are returned.

Parametersosid.id.IdsourceIda peer Id
Returnosid.relationship.RelationshipListthe relationships
ErrorsNULL_ARGUMENT sourceId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetRelationshipsForSourceOnDate
Description

Gets a RelationshipList corresponding to the given peer Id and effective during the entire given date range inclusive but not confined to the date range.

In plenary mode, the returned list contains all of the relationships corresponding to the given peer or an error results if a relationship is inaccessible. Otherwise, inaccessible Relationships may be omitted from the list.

In effective mode, relationships are returned that are currently effective in addition to being effective during the given dates. In any effective mode, effective relationships and those currently expired are returned.

Parametersosid.id.IdsourceIda peer Id
osid.calendaring.DateTimefromstarting date
osid.calendaring.DateTimetoending date
Returnosid.relationship.RelationshipListthe relationships
ErrorsINVALID_ARGUMENT from is greater than to
NULL_ARGUMENT sourceId, from ,or to is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetRelationshipsByGenusTypeForSource
Description

Gets a RelationshipList corresponding to the given peer Id and relationship genus Type. Relationships of any genus derived from the given genus are returned.

In plenary mode, the returned list contains all of the relationships corresponding to the given peer, including duplicates, or an error results if a relationship is inaccessible. Otherwise, inaccessible Relationships may be omitted from the list and may present the elements in any order including returning a unique set.

In effective mode, relationships are returned that are currently effective. In any effective mode, effective relationships and those currently expired are returned.

Parametersosid.id.IdsourceIda peer Id
osid.type.TyperelationshipGenusTypea relationship genus type
Returnosid.relationship.RelationshipListthe relationships
ErrorsNULL_ARGUMENT sourceId or relationshipGenusType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetRelationshipsByGenusTypeForSourceOnDate
Description

Gets a RelationshipList corresponding to the given peer Id and relationship genus Type and effective during the entire given date range inclusive but not confined to the date range.

In plenary mode, the returned list contains all of the relationships corresponding to the given peer or an error results if a relationship is inaccessible. Otherwise, inaccessible Relationships may be omitted from the list.

In effective mode, relationships are returned that are currently effective in addition to being effective during the given dates. In any effective mode, effective relationships and those currently expired are returned.

Parametersosid.id.IdsourceIda peer Id
osid.type.TyperelationshipGenusTypea relationship genus type
osid.calendaring.DateTimefromstarting date
osid.calendaring.DateTimetoending date
Returnosid.relationship.RelationshipListthe relationships
ErrorsINVALID_ARGUMENT from is greater than to
NULL_ARGUMENT sourceId, relationshipGenusType, from or to is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetRelationshipsForDestination
Description

Gets a RelationshipList corresponding to the given peer Id.

In plenary mode, the returned list contains all of the relationships corresponding to the given peer or an error results if a relationship is inaccessible. Otherwise, inaccessible Relationships may be omitted from the list and may present the elements in any order including returning a unique set.

In effective mode, relationships are returned that are currently effective. In any effective mode, effective relationships and those currently expired are returned.

Parametersosid.id.IddestinationIda peer Id
Returnosid.relationship.RelationshipListthe relationships
ErrorsNULL_ARGUMENT destinationId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetRelationshipsForDestinationOnDate
Description

Gets a RelationshipList corresponding to the given peer Id with a starting effective date in the given range inclusive.

In plenary mode, the returned list contains all of the relationships corresponding to the given peer or an error results if a relationship is inaccessible. Otherwise, inaccessible Relationships may be omitted from the list.

In effective mode, relationships are returned that are currently effective. In any effective mode, effective relationships and those currently expired are returned.

Parametersosid.id.IddestinationIda peer Id
osid.calendaring.DateTimefromstarting date
osid.calendaring.DateTimetoending date
Returnosid.relationship.RelationshipListthe relationships
ErrorsINVALID_ARGUMENT from is greater than to
NULL_ARGUMENT destinationId, from ,or to is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetRelationshipsByGenusTypeForDestination
Description

Gets a RelationshipList corresponding to the given peer Id and relationship genus Type. Relationships of any genus derived from the given genus are returned.

In plenary mode, the returned list contains all of the relationships corresponding to the given peer, including duplicates, or an error results if a relationship is inaccessible. Otherwise, inaccessible Relationships may be omitted from the list and may present the elements in any order including returning a unique set.

In effective mode, relationships are returned that are currently effective. In any effective mode, effective relationships and those currently expired are returned.

Parametersosid.id.IddestinationIda peer Id
osid.type.TyperelationshipGenusTypea relationship genus type
Returnosid.relationship.RelationshipListthe relationships
ErrorsNULL_ARGUMENT destinationId or relationshipGenusType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetRelationshipsByGenusTypeForDestinationOnDate
Description

Gets a RelationshipList corresponding to the given peer Id and relationship genus Type and effective during the entire given date range inclusive but not confined to the date range.

In plenary mode, the returned list contains all of the relationships corresponding to the given peer or an error results if a relationship is inaccessible. Otherwise, inaccessible Relationships may be omitted from the list.

In effective mode, relationships are returned that are currently effective in addition to being effective during the given dates. In any effective mode, effective relationships and those currently expired are returned.

Parametersosid.id.IddestinationIda peer Id
osid.type.TyperelationshipGenusTypea relationship genus type
osid.calendaring.DateTimefromstarting date
osid.calendaring.DateTimetoending date
Returnosid.relationship.RelationshipListthe relationships
ErrorsINVALID_ARGUMENT from is greater than to
NULL_ARGUMENT destinationId, relationshipGenusType, from or to is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetRelationshipsForPeers
Description

Gets a RelationshipList corresponding to the given peer Ids.

In plenary mode, the returned list contains all of the relationships corresponding to the given peer or an error results if a relationship is inaccessible. Otherwise, inaccessible Relationships may be omitted from the list.

In effective mode, relationships are returned that are currently effective. In any effective mode, effective relationships and those currently expired are returned.

Parametersosid.id.IdsourceIda peer Id
osid.id.IddestinationIda related peer Id
Returnosid.relationship.RelationshipListthe relationships
ErrorsNULL_ARGUMENT sourceId or destinationId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetRelationshipsForPeersOnDate
Description

Gets a RelationshipList corresponding to the given peer Ids and effective during the entire given date range inclusive but not confined to the date range.

In plenary mode, the returned list contains all of the relationships corresponding to the given peer set or an error results if a relationship is inaccessible. Otherwise, inaccessible Relationships may be omitted from the list.

In effective mode, relationships are returned that are currently effective in addition to being effective during the given dates. In any effective mode, effective relationships and those currently expired are returned.

Parametersosid.id.IdsourceIda peer Id
osid.id.IddestinationIda related peer Id
osid.calendaring.DateTimefromstarting date
osid.calendaring.DateTimetoending date
Returnosid.relationship.RelationshipListthe relationships
ErrorsINVALID_ARGUMENT from is greater than to
NULL_ARGUMENT sourceId, destinationId, from or to is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetRelationshipsByGenusTypeForPeers
Description

Gets a RelationshipList corresponding between the given peer Ids and relationship genus Type. Relationships of any genus derived from the given genus are returned.

In plenary mode, the returned list contains all of the relationships corresponding to the given peer or an error results if a relationship is inaccessible. Otherwise, inaccessible Relationships may be omitted from the list.

In effective mode, relationships are returned that are currently effective. In any effective mode, effective relationships and those currently expired are returned.

Parametersosid.id.IdsourceIda peer Id
osid.id.IddestinationIda related peer Id
osid.type.TyperelationshipGenusTypea relationship genus type
Returnosid.relationship.RelationshipListthe relationships
ErrorsNULL_ARGUMENT sourceId, destinationId, or relationshipGenusType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetRelationshipsByGenusTypeForPeersOnDate
Description

Gets a RelationshipList effective during the entire given date range inclusive but not confined to the date range.

In plenary mode, the returned list contains all of the relationships corresponding to the given peer set or an error results if a relationship is inaccessible. Otherwise, inaccessible Relationships may be omitted from the list.

In effective mode, relationships are returned that are currently effective in addition to being effective during the given dates. In any effective mode, effective relationships and those currently expired are returned.

Parametersosid.id.IdsourceIda peer Id
osid.id.IddestinationIda related peer Id
osid.type.TyperelationshipGenusTypea relationship genus type
osid.calendaring.DateTimefromstarting date
osid.calendaring.DateTimetoending date
Returnosid.relationship.RelationshipListthe relationships
ErrorsINVALID_ARGUMENT from is greater than to
NULL_ARGUMENT sourceId, destinationId, relationshipGenusType, from or to is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetRelationships
Description

Gets all Relationships.

In plenary mode, the returned list contains all known relationships or an error results. Otherwise, the returned list may contain only those relationships that are accessible through this session.

In effective mode, relationships are returned that are currently effective. In any effective mode, effective relationships and those currently expired are returned.

Returnosid.relationship.RelationshipLista list of Relationships
ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.