Interface AuctionHouseAdminSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
All Known Subinterfaces:
AuctionHouseBatchAdminSession

public interface AuctionHouseAdminSession extends OsidSession

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

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

The delete operations delete AuctionHouses . This session includes an Id aliasing mechanism to assign an external Id to an internally assigned Id.

  • Method Details

    • canCreateAuctionHouses

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

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

      AuctionHouseForm getAuctionHouseFormForCreate(Type[] auctionHouseRecordTypes) throws OperationFailedException, PermissionDeniedException
      Gets the auction house form for creating new auction houses. A new form should be requested for each create transaction.
      Parameters:
      auctionHouseRecordTypes - array of auction house record types
      Returns:
      the auction house form
      Throws:
      NullArgumentException - auctionHouseRecordTypes 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.
    • createAuctionHouse

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

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

      AuctionHouseForm getAuctionHouseFormForUpdate(Id auctionHouseId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets the auction house form for updating an existing auction house. A new auction house form should be requested for each update transaction.
      Parameters:
      auctionHouseId - the Id of the AuctionHouse
      Returns:
      the auction house form
      Throws:
      NotFoundException - auctionHouseId is not found
      NullArgumentException - auctionHouseId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • updateAuctionHouse

      void updateAuctionHouse(AuctionHouseForm auctionHouseForm) throws OperationFailedException, PermissionDeniedException
      Updates an existing auction house
      Parameters:
      auctionHouseForm - the form containing the elements to be updated
      Throws:
      IllegalStateException - auctionHouseForm already used in an update transaction
      InvalidArgumentException - the form contains an invalid value
      NullArgumentException - auctionHouseForm is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - auctionHouseForm did not originate from getAuctionHouseFormForUpdate()
      Compliance:
      mandatory - This method must be implemented.
    • canDeleteAuctionHouses

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

      void deleteAuctionHouse(Id auctionHouseId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Deletes an AuctionHouse .
      Parameters:
      auctionHouseId - the Id of the AuctionHouse to remove
      Throws:
      NotFoundException - auctionHouseId not found
      NullArgumentException - auctionHouseId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canManageAuctionHouseAliases

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

      void aliasAuctionHouse(Id auctionHouseId, Id aliasId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException
      Adds an Id to an AuctionHouse for the purpose of creating compatibility. The primary Id of the AuctionHouse is determined by the provider. The new Id performs as an alias to the primary Id .
      Parameters:
      auctionHouseId - the Id of an AuctionHouse
      aliasId - the alias Id
      Throws:
      AlreadyExistsException - aliasId is already assigned
      NotFoundException - auctionHouseId not found
      NullArgumentException - auctionHouseId or aliasId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.