OSID Logo
OSID Specifications
relationship package
Version 3.1.0
Interfaceosid.relationship.RelationshipNotificationSession
Implementsosid.OsidSession
Used Byosid.relationship.RelationshipManager
osid.relationship.RelationshipProxyManager
Description

This session defines methods to receive notifications on adds/changes to Relationship objects in this Family. This also includes existing relationships that may appear or disappear due to changes in the Family hierarchy, This session is intended for consumers needing to synchronize their state with this service without the use of polling. Notifications are cancelled when this session is closed.

The two views defined in this session correspond to the views in the RelationshipLookupSession.

MethodgetFamilyId
Description

Gets the Family Id associated with this session.

Returnosid.id.Id the Family Id associated with this session
Compliancemandatory This method must be implemented.
MethodgetFamily
Description

Gets the Family associated with this session.

Returnosid.relationship.Family the family
ErrorsOPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodcanRegisterForRelationshipNotifications
Description

Tests if this user can register for Relationship notifications. 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 notification operations.

Returnboolean false if notification methods are not authorized, true otherwise
Compliancemandatory This method 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.

Compliancemandatory This method is must be implemented.
MethoduseIsolatedFamilyView
Description

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

Compliancemandatory This method is must be implemented.
MethodreliableRelationshipNotifications
Description

Reliable notifications are desired. In reliable mode, notifications are to be acknowledged using acknowledgeRelationshipNotification().

Compliancemandatory This method is must be implemented.
MethodunreliableRelationshipNotifications
Description

Unreliable notifications are desired. In unreliable mode, notifications do not need to be acknowledged.

Compliancemandatory This method is must be implemented.
MethodacknowledgeRelationshipNotification
Description

Acknowledge a relationship notification.

Parametersosid.id.IdnotificationId the Id of the notification
ErrorsOPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodregisterForNewRelationships
Description

Register for notifications of new relationships. RelationshipReceiver.newRelationships() is invoked when a new Relationship appears in this family.

ErrorsOPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodregisterForNewRelationshipsForSource
Description

Register for notifications of new relationships from the given source. RelationshipReceiver.newRelationships() is invoked when a new Relationship appears for the given peer.

Parametersosid.id.IdsourceId the Id of the source to monitor
ErrorsNULL_ARGUMENT sourceId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodregisterForNewRelationshipsForDestination
Description

Register for notifications of new relationships to the given destination. RelationshipReceiver.newRelationships() is invoked when a new Relationship appears for the given peer.

Parametersosid.id.IddestinationId the Id of the destination node to monitor
ErrorsNULL_ARGUMENT destinationId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodregisterForNewRelationshipsByGenusType
Description

Register for notifications of new relationships. RelationshipReceiver.newRelationships() is invoked when a new Relationship appears for the given peer.

Parametersosid.type.TyperelationshipGenusType the genus type of the Relationship to monitor
ErrorsNULL_ARGUMENT relationshipGenusType is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodregisterForChangedRelationships
Description

Registers for notification of updated relationships. RelationshipReceiver.changedRelationships() is invoked when a relationship in this family is changed.

ErrorsOPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodregisterForChangedRelationshipsForSource
Description

Register for notifications of updated relationships from the given source node. RelationshipReceiver.changedRelationships() is invoked when a Relationship if changed for the given peer.

Parametersosid.id.IdsourceId the Id of the source node to monitor
ErrorsNULL_ARGUMENT sourceId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodregisterForChangedRelationshipsForDestination
Description

Register for notifications of updated relationships to the given destination node. RelationshipReceiver.changedRelationships() is invoked when a Relationship if changed for the given peer.

Parametersosid.id.IddestinationId the Id of the destination node to monitor
ErrorsNULL_ARGUMENT destinationId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodregisterForChangedRelationshipsByGenusType
Description

Register for notifications of updated relationships. RelationshipReceiver.changedRelationships() is invoked when a Relationship if changed for the given peer.

Parametersosid.type.TyperelationshipGenusType the genus type of the Relationship to monitor
ErrorsNULL_ARGUMENT relationshipGenusType is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodregisterForChangedRelationship
Description

Registers for notification of an updated relationship. RelationshipReceiver.changedRelationships() is invoked when the specified relationship in this family is changed.

Parametersosid.id.IdrelationshipId the Id of the Relationship to monitor
ErrorsNULL_ARGUMENT relationshipId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodregisterForDeletedRelationships
Description

Registers for notification of deleted relationships. RelationshipReceiver.deletedRelationships() is invoked when a relationship is deleted or removed from this family.

ErrorsOPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodregisterForDeletedRelationshipsForSource
Description

Register for notifications of deleted relationships from the given source node. RelationshipReceiver.deletedRelationships() is invoked when a Relationship if removed for the given peer.

Parametersosid.id.IdsourceId the Id of the source node to monitor
ErrorsNULL_ARGUMENT sourceId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodregisterForDeletedRelationshipsForDestination
Description

Register for notifications of deleted relationships to the given destination node. RelationshipReceiver.deletedRelationships() is invoked when a Relationship if removed for the given peer.

Parametersosid.id.IddestinationId the Id of the destination node to monitor
ErrorsNULL_ARGUMENT destinationId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodregisterForDeletedRelationshipsByGenusType
Description

Register for notifications of deleted relationships. RelationshipReceiver.deletedRelationships() is invoked when a Relationship if removed for the given peer.

Parametersosid.type.TyperelationshipGenusType the genus type of the Relationship to monitor
ErrorsNULL_ARGUMENT relationshipGenusType is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodregisterForDeletedRelationship
Description

Registers for notification of a deleted relationship. RelationshipReceiver.deletedRelationships() is invoked when the specified relationship is deleted or removed from this family.

Parametersosid.id.IdrelationshipId the Id of the Relationship to monitor
ErrorsNULL_ARGUMENT relationshipId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.