Interface RelationshipEnablerRuleApplicationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface RelationshipEnablerRuleApplicationSession extends OsidSession

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 .

  • Method Details

    • getFamilyId

      Id getFamilyId()
      Gets the Family Id associated with this session.
      Returns:
      the Family Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getFamily

      Gets the Family associated with this session.
      Returns:
      the family
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canAssignRelationshipEnablers

      boolean canAssignRelationshipEnablers()
      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.
      Returns:
      false if mapping is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • assignRelationshipEnablerToRelationship

      void assignRelationshipEnablerToRelationship(Id relationshipEnablerId, Id relationshipId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException
      Adds an existing RelationshipEnabler to a Relationship .
      Parameters:
      relationshipEnablerId - the Id of the RelationshipEnabler
      relationshipId - the Id of the Relationship
      Throws:
      AlreadyExistsException - relationshipEnablerId is already applied to relationshipId
      NotFoundException - relationshipEnablerId or relationshipId not found
      NullArgumentException - relationshipEnablerId or relationshipId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • unassignRelationshipEnablerFromRelationship

      void unassignRelationshipEnablerFromRelationship(Id relationshipEnablerId, Id relationshipId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Removes a RelationshipEnabler from a Relationship .
      Parameters:
      relationshipEnablerId - the Id of the RelationshipEnabler
      relationshipId - the Id of the Relationship
      Throws:
      NotFoundException - relationshipEnablerId or relationshipId not found or relationshipEnablerId not applied to relationshipId
      NullArgumentException - relationshipEnablerId or relationshipId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canSequenceRelationshipEnablers

      boolean canSequenceRelationshipEnablers()
      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.
      Returns:
      false if RelationshipEnabler ordering is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • moveRelationshipEnablerAhead

      void moveRelationshipEnablerAhead(Id relationshipEnablerId, Id relationshipId, Id referenceId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Reorders relationship enablers for a relationship by moving the specified relationship enabler in front of a reference relationship enabler.
      Parameters:
      relationshipEnablerId - the Id of a RelationshipnEnabler
      relationshipId - the Id of a Relationship
      referenceId - the reference relationship enabler Id
      Throws:
      NotFoundException - relationshipEnablerId, relationshipId , or referenceId not found or, relationshipnEnablerId or referenceId not related to relationshipId
      NullArgumentException - relationshipEnablerId, relationshipId , or referenceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • moveRelationshipEnablerBehind

      void moveRelationshipEnablerBehind(Id relationshipEnablerId, Id relationshipId, Id referenceId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Reorders relationship enablers for a relationship by moving the specified relationship enabler behind a reference relationship enabler.
      Parameters:
      relationshipEnablerId - the Id of a RelationshipnEnabler
      relationshipId - the Id of a Relationship
      referenceId - the reference relationship enabler Id
      Throws:
      NotFoundException - relationshipEnablerId, relationshipId , or referenceId not found or, relationshipnEnablerId or referenceId not related to relationshipId
      NullArgumentException - relationshipEnablerId, relationshipId , or referenceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • orderRelationshipEnablers

      void orderRelationshipEnablers(Id[] relationshipEnablerIds, Id relationshipId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Reorders a set of relationship enablers for a relationship.
      Parameters:
      relationshipEnablerIds - the Ids for a set of RelationshipnEnablers
      relationshipId - the Id of a Relationship
      Throws:
      NotFoundException - relationshipId not found or, an relationshipEnablerId not related to relationshipId
      NullArgumentException - relationshipEnablerIds or relationshipId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.