OSID Logo
OSID Specifications
resource package
Version 3.0.0
Release Candidate Preview
Interfaceosid.resource.ResourceRelationshipLookupSession
Implementsosid.OsidSession
Description

This session provides methods for examining resource relationships.

This session defines views that offer differing behaviors when retrieving multiple objects.

  • comparative view: elements may be silently omitted or re-ordered
  • plenary view: provides a complete set or is an error condition
  • isolated bin view: All relationship methods in this session operate, retrieve and pertain to relationships defined explicitly in the current bin. Using an isolated view is useful for managing relationships with the ResourceRelationshipAdminSession.
  • federated bin view: All relationship methods in this session operate, retrieve and pertain to all relationships defined in this bin and any other catalogs implicitly available in this bin through bin inheritence.
  • effective resource relationship view: All resource relationship lookup methods return resource relationships where the current date falls in between the effective dates inclusive.
  • any resource relationship view: Resource relationships of any effective date are returned from methods.
MethodgetBinId
Description

Gets the Bin Id associated with this session.

Returnosid.id.Idthe Bin Id associated with this session
CompliancemandatoryThis method must be implemented.
MethodgetBin
Description

Gets the Bin associated with this session.

Returnosid.resource.Binthe Bin associated with this session
ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodcanLookupResourceRelationships
Description

Tests if this user can access resource relationships. 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 relationship operations.

Returnboolean false if lookup methods are not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethoduseComparativeResourceRelationshipView
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.
MethodusePlenaryResourceRelationshipView
Description

A complete view of the resource 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.
MethoduseFederatedBinView
Description

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

CompliancemandatoryThis method is must be implemented.
MethoduseIsolatedBinView
Description

Isolates the view for methods in this session. An isolated view restricts relationships to this bin only.

CompliancemandatoryThis method is must be implemented.
MethoduseEffectiveResourceRelationshipView
Description

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

CompliancemandatoryThis method is must be implemented.
MethoduseAnyEffectiveResourceRelationshipView
Description

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

CompliancemandatoryThis method is must be implemented.
MethodgetResourceRelationship
Description

Gets the ResourceRelationship 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, resource relationships are returned that are currently effective. In any effective mode, effective resource relationships and those currently expired are returned.

Parametersosid.id.IdresourceRelationshipId Id of the Relationship
Returnosid.resource.ResourceRelationshipthe relationship
ErrorsNOT_FOUND resourceRelationshipId not found
NULL_ARGUMENT resourceRelationshipId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method is must be implemented.
MethodgetResourceRelationshipsByIds
Description

Gets a ResourceRelationshipList 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, resource relationships are returned that are currently effective. In any effective mode, effective resource relationships and those currently expired are returned.

Parametersosid.id.IdListresourceRelationshipIdsthe list of Ids to retrieve
Returnosid.resource.ResourceRelationshipListthe returned ResourceRelationship list
ErrorsNOT_FOUNDan Id was not found
NULL_ARGUMENT resourceRelationshipIds is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetResourceRelationshipsByGenusType
Description

Gets the resource relationships for the given resource relationship genus 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, resource relationships are returned that are currently effective. In any effective mode, effective resource relationships and those currently expired are returned.

Parametersosid.type.TyperelationshipGenusTypea relationship genus type
Returnosid.resource.ResourceRelationshipListthe relationships
ErrorsNULL_ARGUMENT relationshipGenusType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetResourceRelationshipsByParentGenusType
Description

Gets the reource relationships for the given resource relationship genus type and include any relationships with a genus type derived from the specified genus 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, resource relationships are returned that are currently effective. In any effective mode, effective resource relationships and those currently expired are returned.

Parametersosid.type.TyperelationshipGenusTypea relationship genus type
Returnosid.resource.ResourceRelationshipListthe relationships
ErrorsNULL_ARGUMENT relationshipGenusType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetResourceRelationshipsByRecordType
Description

Gets the resource relationships for the given resource 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, resource relationships are returned that are currently effective. In any effective mode, effective resource relationships and those currently expired are returned.

Parametersosid.type.TyperelationshipRecordTypea relationship record type
Returnosid.resource.ResourceRelationshipListthe relationships
ErrorsNULL_ARGUMENT relationshipRecordType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetResourceRelationshipsOnDate
Description

Gets the resource relationships effective during the entire given date range inclusive but not confined to the date range.

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, resource relationships are returned that are currently effective in addition to being effective during the given dates. In any effective mode, effective resource relationships and those currently expired are returned.

Parametersosid.calendaring.DateTimefromstarting date
osid.calendaring.DateTimetoending date
Returnosid.resource.ResourceRelationshipListthe 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.
MethodgetResourceRelationshipsForSourceResource
Description

Gets the ResourceRelationships of a resource.

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, resource relationships are returned that are currently effective. In any effective mode, effective resource relationships and those currently expired are returned.

Parametersosid.id.IdsourceResourceId Id of a Resource
Returnosid.resource.ResourceRelationshipListthe relationships
ErrorsNULL_ARGUMENT sourceResourceId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetResourceRelationshipsForSourceResourceOnDate
Description

Gets a list of resource relationships for a resource and effective during the entire given date range inclusive but not confined to the date range.

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

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

Parametersosid.id.IdsourceResourceIda resource Id
osid.calendaring.DateTimefromstart of date range
osid.calendaring.DateTimetoend of date range
Returnosid.resource.ResourceRelationshipListthe relationships
ErrorsINVALID_ARGUMENT from is greater than to
NULL_ARGUMENT sourceResourceId, from or to is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetResourceRelationshipsByGenusTypeForSourceResource
Description

Gets the ResourceRelationships of a resource of relationship genus type that includes any genus type derived from the given one.

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, resource relationships are returned that are currently effective. In any effective mode, effective resource relationships and those currently expired are returned.

Parametersosid.id.IdsourceResourceId Id of a Resource
osid.type.TyperelationshipGenusTypea relationship genus type
Returnosid.resource.ResourceRelationshipListthe relationships
ErrorsNULL_ARGUMENT sourceResourceId or relationshipGenusType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetResourceRelationshipsByGenusTypeForSourceResourceOnDate
Description

Gets a list of resource relationships of a given genus type for a resource and effective during the entire given date range inclusive but not confined to the date range.

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

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

Parametersosid.id.IdsourceResourceIda resource Id
osid.type.TyperelationshipGenusTypea relationship genus type
osid.calendaring.DateTimefromstart of date range
osid.calendaring.DateTimetoend of date range
Returnosid.resource.ResourceRelationshipListthe relationships
ErrorsINVALID_ARGUMENT from is greater than to
NULL_ARGUMENT sourceResourceId, relationshipGenusType, from or to is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetResourceRelationshipsForDestinationResource
Description

Gets the ResourceRelationships of a resource.

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, resource relationships are returned that are currently effective. In any effective mode, effective resource relationships and those currently expired are returned.

Parametersosid.id.IddestinationResourceId Id of a Resource
Returnosid.resource.ResourceRelationshipListthe relationships
ErrorsNULL_ARGUMENT destinationResourceId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetResourceRelationshipsForDestinationResourceOnDate
Description

Gets a list of resource relationships for a resource and effective during the entire given date range inclusive but not confined to the date range.

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

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

Parametersosid.id.IdsourceResourceIda resource Id
osid.calendaring.DateTimefromstart of date range
osid.calendaring.DateTimetoend of date range
Returnosid.resource.ResourceRelationshipListthe relationships
ErrorsINVALID_ARGUMENT from is greater than to
NULL_ARGUMENT destinationResourceId, from, or to is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetResourceRelationshipsByGenusTypeForDestinationResource
Description

Gets the ResourceRelationships of a resource of relationship genus type that includes any genus type derived from the given one.

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, resource relationships are returned that are currently effective. In any effective mode, effective resource relationships and those currently expired are returned.

Parametersosid.id.IddestinationResourceId Id of a Resource
osid.type.TyperelationshipGenusTypea relationship genus type
Returnosid.resource.ResourceRelationshipListthe relationships
ErrorsNULL_ARGUMENT destinationResourceId or relationshipGenusType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetResourceRelationshipsByGenusTypeForDestinationResourceOnDate
Description

Gets a list of resource relationships of a given genus type for a resource and effective during the entire given date range inclusive but not confined to the date range.

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

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

Parametersosid.id.IddestinationResourceIda resource Id
osid.type.TyperelationshipGenusTypea relationship genus type
osid.calendaring.DateTimefromstart of date range
osid.calendaring.DateTimetoend of date range
Returnosid.resource.ResourceRelationshipListthe relationships
ErrorsINVALID_ARGUMENT from is greater than to
NULL_ARGUMENT destinationResourceId, relationshipGenusType, from or to is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetResourceRelationshipsForResources
Description

Gets the ResourceRelationships given two resources.

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, resource relationships are returned that are currently effective. In any effective mode, effective resource relationships and those currently expired are returned.

Parametersosid.id.IdsourceResourceId Id of a Resource
osid.id.IddestinationResourceId Id of another Resource
Returnosid.resource.ResourceRelationshipListthe relationships
ErrorsNULL_ARGUMENT sourceRelationshipId or destinationRelationshipId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetResourceRelationshipsForResourcesOnDate
Description

Gets a list of resource relationships for a two peer resources and effective during the entire given date range inclusive but not confined to the date range.

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

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

Parametersosid.id.IdsourceResourceIda resource Id
osid.id.IddestinationResourceId Id of another Resource
osid.calendaring.DateTimefromstart of date range
osid.calendaring.DateTimetoend of date range
Returnosid.resource.ResourceRelationshipListthe relationships
ErrorsINVALID_ARGUMENT from is greater than to
NULL_ARGUMENT sourceResourceId, destinationResourceId, from or to is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetResourceRelationshipsByGenusTypeForResources
Description

Gets the ResourceRelationships given two resources and a relationship genus type which includes any genus types derived from the given genus 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, resource relationships are returned that are currently effective. In any effective mode, effective resource relationships and those currently expired are returned.

Parametersosid.id.IdsourceResourceId Id of a Resource
osid.id.IddestinationResourceId Id of another Resource
osid.type.TyperelationshipGenusTypea relationship genus type
Returnosid.resource.ResourceRelationshipListthe relationships
ErrorsNULL_ARGUMENT sourceResourceId, destinationResourceId, or relatonshipGenusType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetResourceRelationshipsByGenusTypeForResourcesOnDate
Description

Gets a list of resource relationships of a given genus type for a two peer resources and effective during the entire given date range inclusive but not confined to the date range.

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

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

Parametersosid.id.IdsourceResourceIda resource Id
osid.id.IddestinationResourceId Id of another Resource
osid.type.TyperelationshipGenusTypea relationship genus type
osid.calendaring.DateTimefromstart of date range
osid.calendaring.DateTimetoend of date range
Returnosid.resource.ResourceRelationshipListthe relationships
ErrorsINVALID_ARGUMENT from is greater than to
NULL_ARGUMENT sourceResourceId, destinationResourceId, relationshipGenusType, from or to is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetResourceRelationships
Description

Gets all ResourceRelationships.

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

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

Returnosid.resource.ResourceRelationshipListthe relationships
ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.