Interface InquiryInquestAssignmentSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface InquiryInquestAssignmentSession extends OsidSession

This session provides methods to re-assign Inquiries to Inquest mappings. An Inquiry may appear in multiple Inquest objects and removing the last reference to an Inquiry 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 Inquiry to another Inquest is not a copy operation (eg: does not change its Id ).

  • Method Details

    • canAssignInquiries

      boolean canAssignInquiries()
      Tests if this user can alter inquiry/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 assignment operations to unauthorized users.
      Returns:
      false if control is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • canAssignInquiriesToInquest

      boolean canAssignInquiriesToInquest(Id inquestId)
      Tests if this user can alter inquiry/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 assignment operations to unauthorized users.
      Parameters:
      inquestId - the Id of the Inquest
      Returns:
      false if control 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 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.
    • getAssignableInquestIdsForInquiry

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

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

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

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