Interface CheckAdminSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface CheckAdminSession extends OsidSession

This session creates, updates, and deletes Checks . The data for create and update is provided by the consumer via the form object. OsidForms are requested for each create or update and may not be reused.

Create and update operations differ in their usage. To create a Check , a CheckForm is requested using getCheckFormForCreate() specifying the desired record Types or none if no record Types are needed. The returned CheckForm will indicate that it is to be used with a create operation and can be used to examine metdata or validate data prior to creation. Once the CheckForm is submiited to a create operation, it cannot be reused with another create operation unless the first operation was unsuccessful. Each CheckForm corresponds to an attempted transaction.

For updates, CheckForms are requested to the Check Id that is to be updated using getCheckFormForUpdate() . Similarly, the CheckForm has metadata about the data that can be updated and it can perform validation before submitting the update. The CheckForm can only be used once for a successful update and cannot be reused.

The delete operations delete Checks . To unmap a Check from the current Engine , the CheckEngineAssignmentSession should be used. These delete operations attempt to remove the Check itself thus removing it from all known Engine catalogs.

This session includes an Id aliasing mechanism to assign an external Id to an internally assigned Id.

  • Method Details

    • getEngineId

      Id getEngineId()
      Gets the Engine Id associated with this session.
      Returns:
      the Engine Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getEngine

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

      boolean canCreateChecks()
      Tests if this user can create Checks . A return of true does not guarantee successful authorization. A return of false indicates that it is known creating a Check will result in a PERMISSION_DENIED . This is intended as a hint to an application that may opt not to offer create operations to an unauthorized user.
      Returns:
      false if Check creation is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • canCreateCheckWithRecordTypes

      boolean canCreateCheckWithRecordTypes(Type[] checkRecordTypes)
      Tests if this user can create a single Check using the desired record types. While RulesCheckManager.getCheckRecordTypes() can be used to examine which records are supported, this method tests which record(s) are required for creating a specific Check . Providing an empty array tests if a Check can be created with no records.
      Parameters:
      checkRecordTypes - array of check record types
      Returns:
      true if Check creation using the specified record Types is supported, false otherwise
      Throws:
      NullArgumentException - checkRecordTypes is null
      Compliance:
      mandatory - This method must be implemented.
    • createCheck

      Creates a new Check .
      Parameters:
      checkForm - the form for this Check
      Returns:
      the new Check
      Throws:
      IllegalStateException - checkForm already used in a create transaction
      InvalidArgumentException - one or more of the form elements is invalid
      NullArgumentException - checkForm is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - checkForm did not originat from getCheckFormForCreate()
      Compliance:
      mandatory - This method must be implemented.
    • canUpdateChecks

      boolean canUpdateChecks()
      Tests if this user can update Checks . A return of true does not guarantee successful authorization. A return of false indicates that it is known updating a Check will result in a PERMISSION_DENIED . This is intended as a hint to an application that may opt not to offer update operations to an unauthorized user.
      Returns:
      false if Check modification is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getCheckFormForUpdate

      CheckForm getCheckFormForUpdate(Id checkId) throws NotFoundException, OperationFailedException
      Gets the check form for updating an existing hold. A new check form should be requested for each update transaction.
      Parameters:
      checkId - the Id of the Check
      Returns:
      the check form
      Throws:
      NotFoundException - checkId is not found
      NullArgumentException - checkId is null
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • updateCheck

      void updateCheck(CheckForm checkForm) throws OperationFailedException, PermissionDeniedException
      Updates an existing hold.
      Parameters:
      checkForm - the form containing the elements to be updated
      Throws:
      IllegalStateException - checkForm already used in an update transaction
      InvalidArgumentException - the form contains an invalid value
      NullArgumentException - checkId or checkForm is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - checkForm did not originat from getCheckFormForUpdate()
      Compliance:
      mandatory - This method must be implemented.
    • canDeleteChecks

      boolean canDeleteChecks()
      Tests if this user can delete Checks . A return of true does not guarantee successful authorization. A return of false indicates that it is known deleting a Check will result in a PERMISSION_DENIED . This is intended as a hint to an application that may opt not to offer delete operations to an unauthorized user.
      Returns:
      false if Check deletion is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • deleteCheck

      Deletes a Check .
      Parameters:
      checkId - the Id of the Check to remove
      Throws:
      NotFoundException - checkId not found
      NullArgumentException - checkId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canManageCheckAliases

      boolean canManageCheckAliases()
      Tests if this user can manage Id aliases for Checks . A return of true does not guarantee successful authorization. A return of false indicates that it is known changing an alias will result in a PERMISSION_DENIED . This is intended as a hint to an application that may opt not to offer alias operations to an unauthorized user.
      Returns:
      false if Check aliasing is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • aliasCheck

      Adds an Id to a Check for the purpose of creating compatibility. The primary Id of the Check is determined by the provider. The new Id performs as an alias to the primary Id . If the alias is a pointer to another check, it is reassigned to the given check Id .
      Parameters:
      checkId - the Id of a Check
      aliasId - the alias Id
      Throws:
      AlreadyExistsException - aliasId is already assigned
      NotFoundException - checkId not found
      NullArgumentException - checkId or aliasId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.