Interface EffortFoundryAssignmentSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface EffortFoundryAssignmentSession extends OsidSession

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

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

  • Method Details

    • canAssignEfforts

      boolean canAssignEfforts()
      Tests if this user can alter effort/foundry 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 resourcing is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • canAssignEffortsToFoundry

      boolean canAssignEffortsToFoundry(Id foundryId)
      Tests if this user can alter effort/foundry 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:
      foundryId - the Id of the Foundry
      Returns:
      false if resourcing is not authorized, true otherwise
      Throws:
      NullArgumentException - foundryId is null
      Compliance:
      mandatory - This method must be implemented.
    • getAssignableFoundryIds

      IdList getAssignableFoundryIds(Id foundryId) throws OperationFailedException
      Gets a list of foundries including and under the given foundry node in which any effort can be assigned.
      Parameters:
      foundryId - the Id of the Foundry
      Returns:
      list of assignable foundry Ids
      Throws:
      NullArgumentException - foundryId is null
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • getAssignableFoundryIdsForEffort

      IdList getAssignableFoundryIdsForEffort(Id foundryId, Id effortId) throws OperationFailedException
      Gets a list of foundries including and under the given foundry node in which a specific effort can be assigned.
      Parameters:
      foundryId - the Id of the Foundry
      effortId - the Id of the Effort
      Returns:
      list of assignable foundry Ids
      Throws:
      NullArgumentException - foundryId or effortId is null
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • assignEffortToFoundry

      void assignEffortToFoundry(Id effortId, Id foundryId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Adds an existing Effort to a Foundry .
      Parameters:
      effortId - the Id of the Effort
      foundryId - the Id of the Foundry
      Throws:
      NotFoundException - effortId or foundryId not found
      NullArgumentException - effortId or foundryId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • unassignEffortFromFoundry

      void unassignEffortFromFoundry(Id effortId, Id foundryId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Removes an Effort from a Foundry .
      Parameters:
      effortId - the Id of the Effort
      foundryId - the Id of the Foundry
      Throws:
      NotFoundException - effortId or foundryId not found
      NullArgumentException - effortId or foundryId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • reassignEffortToFoundry

      void reassignEffortToFoundry(Id effortId, Id fromFoundryId, Id toFoundryId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException
      Moves an Effort from one Foundry to another. Mappings to other Foundries are unaffected.
      Parameters:
      effortId - the Id of the Effort
      fromFoundryId - the Id of the current Foundry
      toFoundryId - the Id of the destination Foundry
      Throws:
      AlreadyExistsException - effortId already assigned to toFoundryId
      NotFoundException - effortId, fromFoundryId , or toFoundryId not found or effortId not mapped to fromFoundryId
      NullArgumentException - effortId, fromFoundryId , or toFoundryId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.