Interface PoolConstrainerEnablerAdminSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface PoolConstrainerEnablerAdminSession extends OsidSession

This session creates, updates, and deletes PoolConstrainerEnablers . 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 PoolConstrainerEnabler , a PoolConstrainerEnablerForm is requested using getPoolConstrainerEnablerFormForCreate() specifying the desired record Types or none if no record Types are needed. The returned PoolConstrainerEnablerForm 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 PoolConstrainerEnablerForm is submiited to a create operation, it cannot be reused with another create operation unless the first operation was unsuccessful. Each PoolConstrainerEnablerForm corresponds to an attempted transaction.

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

The delete operations delete PoolConstrainerEnablers . To unmap a PoolConstrainerEnabler from the current Distributor , the PoolConstrainerEnablerDistributorAssignmentSession should be used. These delete operations attempt to remove the PoolConstrainerEnabler itself thus removing it from all known Distributor catalogs.

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

  • Method Details

    • getDistributorId

      Id getDistributorId()
      Gets the Distributor Id associated with this session.
      Returns:
      the Distributor Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getDistributor

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

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

      boolean canCreatePoolConstrainerEnablerWithRecordTypes(Type[] poolConstrainerEnablerRecordTypes)
      Tests if this user can create a single PoolConstrainerEnabler using the desired record types. While ProvisioningRulesManager.getPoolConstrainerEnablerRecordTypes() can be used to examine which records are supported, this method tests which record(s) are required for creating a specific PoolConstrainerEnabler . Providing an empty array tests if a PoolConstrainerEnabler can be cre ated with no records.
      Parameters:
      poolConstrainerEnablerRecordTypes - array of pool constrainer enabler record types
      Returns:
      true if PoolConstrainerEnabler creation using the specified record Types is supported, false otherwise
      Throws:
      NullArgumentException - poolConstrainerEnablerRecordTypes is null
      Compliance:
      mandatory - This method must be implemented.
    • getPoolConstrainerEnablerFormForCreate

      PoolConstrainerEnablerForm getPoolConstrainerEnablerFormForCreate(Type[] poolConstrainerEnablerRecordTypes) throws OperationFailedException, PermissionDeniedException
      Gets the pool constrainer enabler form for creating new pool constrainer enablers. A new form should be requested for each create transaction.
      Parameters:
      poolConstrainerEnablerRecordTypes - array of pool constrainer enabler record types
      Returns:
      the pool constrainer enabler form
      Throws:
      NullArgumentException - poolConstrainerEnablerRecordTypes is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - unable to get form for requested record types
      Compliance:
      mandatory - This method must be implemented.
    • createPoolConstrainerEnabler

      PoolConstrainerEnabler createPoolConstrainerEnabler(PoolConstrainerEnablerForm poolConstrainerEnablerForm) throws OperationFailedException, PermissionDeniedException
      Creates a new PoolConstrainerEnabler .
      Parameters:
      poolConstrainerEnablerForm - the form for this PoolConstrainerEnabler
      Returns:
      the new PoolConstrainerEnabler
      Throws:
      IllegalStateException - poolConstrainerEnablerForm already used in a create transaction
      InvalidArgumentException - one or more of the form elements is invalid
      NullArgumentException - poolConstrainerEnablerForm is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - poolConstrainerEnablerForm did not originate from getPoolConstrainerEnablerFormForCreate()
      Compliance:
      mandatory - This method must be implemented.
    • canUpdatePoolConstrainerEnablers

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

      PoolConstrainerEnablerForm getPoolConstrainerEnablerFormForUpdate(Id poolConstrainerEnablerId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets the pool constrainer enabler form for updating an existing pool constrainer enabler. A new pool constrainer enabler form should be requested for each update transaction.
      Parameters:
      poolConstrainerEnablerId - the Id of the PoolConstrainerEnabler
      Returns:
      the pool constrainer enabler form
      Throws:
      NotFoundException - poolConstrainerEnablerId is not found
      NullArgumentException - poolConstrainerEnablerId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • updatePoolConstrainerEnabler

      void updatePoolConstrainerEnabler(PoolConstrainerEnablerForm poolConstrainerEnablerForm) throws OperationFailedException, PermissionDeniedException
      Updates an existing pool constrainer enabler.
      Parameters:
      poolConstrainerEnablerForm - the form containing the elements to be updated
      Throws:
      IllegalStateException - poolConstrainerEnablerForm already used in an update transaction
      InvalidArgumentException - the form contains an invalid value
      NullArgumentException - poolConstrainerEnablerForm is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - poolConstrainerEnablerForm did not originate from getPoolConstrainerEnablerFormForUpdate()
      Compliance:
      mandatory - This method must be implemented.
    • canDeletePoolConstrainerEnablers

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

      void deletePoolConstrainerEnabler(Id poolConstrainerEnablerId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Deletes a PoolConstrainerEnabler .
      Parameters:
      poolConstrainerEnablerId - the Id of the PoolConstrainerEnabler to remove
      Throws:
      NotFoundException - poolConstrainerEnablerId not found
      NullArgumentException - poolConstrainerEnablerId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canManagePoolConstrainerEnablerAliases

      boolean canManagePoolConstrainerEnablerAliases()
      Tests if this user can manage Id aliases for PoolConstrainerEnablers 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 PoolConstrainerEnabler aliasing is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • aliasPoolConstrainerEnabler

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