Interface AuctionNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface AuctionNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to Auctions in this AuctionHouse . This also includes existing auctions that may appear or disappear due to changes in the AuctionHouse hierarchy, This session is intended for consumers needing to synchronize their state with this service without the use of polling. Notifications are cancelled when this session is closed.

The two views defined in this session correspond to the views in the AuctionLookupSession .

  • Method Details

    • getAuctionHouseId

      Id getAuctionHouseId()
      Gets the AuctionHouse Id associated with this session.
      Returns:
      the AuctionHouse Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getAuctionHouse

      Gets the AuctionHouse associated with this session.
      Returns:
      the auction house
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canRegisterForAuctionNotifications

      boolean canRegisterForAuctionNotifications()
      Tests if this user can register for Auction notifications. A return of true does not guarantee successful authorization. A return of false indicates that it is known all 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 notification operations.
      Returns:
      false if notification methods are not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useFederatedAuctionHouseView

      void useFederatedAuctionHouseView()
      Federates the view for methods in this session. A federated view will include auctions in auction houses which are children of this auction house in the auction house hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedAuctionHouseView

      void useIsolatedAuctionHouseView()
      Isolates the view for methods in this session. An isolated view restricts notifications to this auction house only.
      Compliance:
      mandatory - This method is must be implemented.
    • reliableAuctionNotifications

      void reliableAuctionNotifications()
      Reliable notifications are desired. In reliable mode, notifications are to be acknowledged using acknowledgeAuctionNotification() .
      Compliance:
      mandatory - This method is must be implemented.
    • unreliableAuctionNotifications

      void unreliableAuctionNotifications()
      Unreliable notifications are desired. In unreliable mode, notifications do not need to be acknowledged.
      Compliance:
      mandatory - This method is must be implemented.
    • acknowledgeAuctionNotification

      void acknowledgeAuctionNotification(Id notificationId) throws OperationFailedException, PermissionDeniedException
      Acknowledge an auction notification.
      Parameters:
      notificationId - the Id of the notification
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewAuctions

      void registerForNewAuctions() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new auctions. AuctionReceiver.newAuctions() is invoked when a new Auction appears in this auction house.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewAuctionsForItem

      void registerForNewAuctionsForItem(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new auctions for the given resource Id . AuctionReceiver.newAuctions() is invoked when a new Auction is created.
      Parameters:
      resourceId - the Id of the item to monitor
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewAuctionsForItemGenusType

      void registerForNewAuctionsForItemGenusType(Id resourceGenusType) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new auctions for the given resource genus type. AuctionReceiver.newAuctions() is invoked when a new Auction is created.
      Parameters:
      resourceGenusType - the genus type of the item to monitor
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedAuctions

      void registerForChangedAuctions() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated auctions. AuctionReceiver.changedAuctions() is invoked when an auction in this auction house is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedAuctionsForItem

      void registerForChangedAuctionsForItem(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of updated auctions for the given item Id . AuctionReceiver.changedAuctions() is invoked when an auction in this auction house is changed.
      Parameters:
      resourceId - the Id of the item to monitor
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedAuctionsForItemGenusType

      void registerForChangedAuctionsForItemGenusType(Id resourceGenusType) throws OperationFailedException, PermissionDeniedException
      Register for notifications of updated auctions for the given item genus type. AuctionReceiver.changedAuctions() is invoked when an auction in this auction house is changed.
      Parameters:
      resourceGenusType - the genus type of the item to monitor
      Throws:
      NullArgumentException - resourceGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedAuction

      void registerForChangedAuction(Id auctionId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated auction. AuctionReceiver.changedAuctions() is invoked when the specified auction in this auction house is changed.
      Parameters:
      auctionId - the Id of the Auction to monitor
      Throws:
      NullArgumentException - auctionId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedAuctions

      void registerForDeletedAuctions() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted auctions. AuctionReceiver.deletedAuctions() is invoked when an auction is deleted or removed from this auction house.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedAuctionsForItem

      void registerForDeletedAuctionsForItem(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of deleted auctions for the given item Id . AuctionReceiver.deletedAuctions() is invoked when an auction in this auction house is removed or deleted.
      Parameters:
      resourceId - the Id of the item to monitor
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedAuctionsForItemGenusType

      void registerForDeletedAuctionsForItemGenusType(Id resourceGenusType) throws OperationFailedException, PermissionDeniedException
      Register for notifications of deleted auctions for the given item genus type. AuctionReceiver.deletedAuctions() is invoked when an auction in this auction house is removed or deleted.
      Parameters:
      resourceGenusType - the genus type of the item to monitor
      Throws:
      NullArgumentException - resourceGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedAuction

      void registerForDeletedAuction(Id auctionId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted auction. AuctionReceiver.deletedAuctions() is invoked when the specified auction is deleted or removed from this auction house.
      Parameters:
      auctionId - the Id of the Auction to monitor
      Throws:
      NullArgumentException - auctionId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.