Interface InquiryEnablerInquestAssignmentSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface InquiryEnablerInquestAssignmentSession extends OsidSession

This session provides methods to re-assign InquiryEnabler to Inquest mappings. An InquiryEnabler may appear in multiple Inquest objects and removing the last reference to an InquiryEnabler is the equivalent of deleting it. Each Inquest may have its own authorizations governing who is allowed to operate on it.

Adding a reference of an InquiryEnabler to another Inquest is not a copy operation (eg: does not change its Id ).

  • Method Details

    • canAssignInquiryEnablers

      boolean canAssignInquiryEnablers()
      Tests if this user can alter inquiry enabler/inquest 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.
    • canAssignInquiryEnablersToInquest

      boolean canAssignInquiryEnablersToInquest(Id inquestId)
      Tests if this user can alter inquiry enabler/inquest 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.
      Parameters:
      inquestId - the Id of the Inquest
      Returns:
      false if mapping is not authorized, true otherwise
      Throws:
      NullArgumentException - inquestId is null
      Compliance:
      mandatory - This method must be implemented.
    • getAssignableInquestIds

      IdList getAssignableInquestIds(Id inquestId) throws OperationFailedException
      Gets a list of inquests including and under the given inquest node in which any inquiry enabler can be assigned.
      Parameters:
      inquestId - the Id of the Inquest
      Returns:
      list of assignable inquest Ids
      Throws:
      NullArgumentException - inquestId is null
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • getAssignableInquestIdsForInquiryEnabler

      IdList getAssignableInquestIdsForInquiryEnabler(Id inquestId, Id inquiryEnablerId) throws OperationFailedException
      Gets a list of inquests including and under the given inquest node in which a specific inquiry enabler can be assigned.
      Parameters:
      inquestId - the Id of the Inquest
      inquiryEnablerId - the Id of the InquiryEnabler
      Returns:
      list of assignable inquest Ids
      Throws:
      NullArgumentException - inquestId or inquiryEnablerId is null
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • assignInquiryEnablerToInquest

      void assignInquiryEnablerToInquest(Id inquiryEnablerId, Id inquestId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException
      Adds an existing InquiryEnabler to an Inquest .
      Parameters:
      inquiryEnablerId - the Id of the InquiryEnabler
      inquestId - the Id of the Inquest
      Throws:
      AlreadyExistsException - inquiryEnablerId already assigned to inquestId
      NotFoundException - inquiryEnablerId or inquestId not found
      NullArgumentException - inquiryEnablerId or inquestId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • unassignInquiryEnablerFromInquest

      void unassignInquiryEnablerFromInquest(Id inquiryEnablerId, Id inquestId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Removes an InquiryEnabler from an Inquest .
      Parameters:
      inquiryEnablerId - the Id of the InquiryEnabler
      inquestId - the Id of the Inquest
      Throws:
      NotFoundException - inquiryEnablerId or inquestId not found or inquiryEnablerId already assigned to inquestId
      NullArgumentException - inquiryEnablerId or inquestId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • reassignInquiryEnablerToInquest

      void reassignInquiryEnablerToInquest(Id inquiryEnablerId, Id fromInquestId, Id toInquestId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException
      Moves an InquiryEnabler from one Inquest to another. Mappings to other Inquests are unaffected.
      Parameters:
      inquiryEnablerId - the Id of the InquiryEnabler
      fromInquestId - the Id of the current Inquest
      toInquestId - the Id of the destination Inquest
      Throws:
      AlreadyExistsException - inquiryEnablerId already assigned to toInquestId
      NotFoundException - inquiryEnabler, fromInquestId , or toInquestId not found or inquiryEnabler not mapped to fromInquestId
      NullArgumentException - inquiryEnabler, fromInquestId , or toInquestId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.