Interface RelationshipEnablerRuleLookupSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface RelationshipEnablerRuleLookupSession extends OsidSession

This session provides methods to retrieve RelationshipEnabler to Relationship mappings. A Relationship with multiple RelationshipEnablers means any positive rule evaluation across the enablers result in an enabled Relationship .

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
  • isolated family view: All methods in this session operate, retrieve and pertain relationship enablers defined explicitly in the current family.
  • federated family view: All methods in this session operate, retrieve and pertain to all relationship enablers defined in this family and any other family enablers implicitly available in this family through family inheritence.
  • 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.
    • canLookupRelationshipEnablerRules

      boolean canLookupRelationshipEnablerRules()
      Tests if this user can perform lookups of relationship enabler/relationship mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known lookup 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 looking up mappings is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useComparativeRelationshipEnablerRuleView

      void useComparativeRelationshipEnablerRuleView()
      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.
      Compliance:
      mandatory - This method is must be implemented.
    • usePlenaryRelationshipEnablerRuleView

      void usePlenaryRelationshipEnablerRuleView()
      A complete view of the RelationshipEnabler and 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.
      Compliance:
      mandatory - This method is must be implemented.
    • useFederatedFamilyView

      void useFederatedFamilyView()
      Federates the view for methods in this session. A federated view will include relationship enablers in families which are children of this family in the family hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedFamilyView

      void useIsolatedFamilyView()
      Isolates the view for methods in this session. An isolated view restricts lookups to this family only.
      Compliance:
      mandatory - This method is must be implemented.
    • getRelationshipEnablerIdsForRelationship

      IdList getRelationshipEnablerIdsForRelationship(Id relationshipId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets the RelationshipEnabler Id associated with a Relationship .
      Parameters:
      relationshipId - Id of the Relationship
      Returns:
      the relationship enabler Ids
      Throws:
      NotFoundException - relationshipId is not found
      NullArgumentException - relationshipId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getRelationshipEnablersForRelationship

      RelationshipEnablerList getRelationshipEnablersForRelationship(Id relationshipId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets the RelationshipEnabler associated with a Relationship .
      Parameters:
      relationshipId - Id of the Relationship
      Returns:
      the relationship enablers
      Throws:
      NotFoundException - relationshipId is not found
      NullArgumentException - relationshipId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getRelationshipIdsForRelationshipEnabler

      IdList getRelationshipIdsForRelationshipEnabler(Id relationshipEnablerId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets the Relationship Ids mapped to a RelationshipEnabler .
      Parameters:
      relationshipEnablerId - Id of a RelationshipEnabler
      Returns:
      list of relationship Ids
      Throws:
      NotFoundException - relationshipEnablerId is not found
      NullArgumentException - relationshipEnablerId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getRelationshipsForRelationshipEnabler

      RelationshipList getRelationshipsForRelationshipEnabler(Id relationshipEnablerId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets the Relationships mapped to a RelationshipEnabler .
      Parameters:
      relationshipEnablerId - Id of a RelationshipEnabler
      Returns:
      list of relationships
      Throws:
      NotFoundException - relationshipEnablerId is not found
      NullArgumentException - relationshipEnablerId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.