Interface PriceEnablerRuleApplicationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface PriceEnablerRuleApplicationSession extends OsidSession

This session provides methods to apply PriceEnablers to Prices . A Price with multiple PriceEnablers means any positive rule evaluation across the enablers result in an effective Price .

  • Method Details

    • getStoreId

      Id getStoreId()
      Gets the Store Id associated with this session.
      Returns:
      the Store Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getStore

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

      boolean canAssignPriceEnablers()
      Tests if this user can alter price enabler/price 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 lookup operations to unauthorized users.
      Returns:
      false if mapping is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • assignPriceEnablerToPrice

      void assignPriceEnablerToPrice(Id priceEnablerId, Id priceId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException
      Adds an existing PriceEnabler to a Price .
      Parameters:
      priceEnablerId - the Id of the PriceEnabler
      priceId - the Id of the Price
      Throws:
      AlreadyExistsException - priceEnablerId is already applied to priceId
      NotFoundException - priceEnablerId or priceId not found
      NullArgumentException - priceEnablerId or priceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • unassignPriceEnablerFromPrice

      void unassignPriceEnablerFromPrice(Id priceEnablerId, Id priceId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Removes a PriceEnabler from a Price .
      Parameters:
      priceEnablerId - the Id of the PriceEnabler
      priceId - the Id of the Price
      Throws:
      NotFoundException - priceEnablerId or priceId not found or priceEnablerId is not applied to priceId
      NullArgumentException - priceEnablerId or priceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canSequencePriceEnablers

      boolean canSequencePriceEnablers()
      Tests if this user can order ProceEnablers . A return of true does not guarantee successful authorization. A return of false indicates that it is known sequencing operations will result in a PERMISSION_DENIED . This is intended as a hint to an application that may opt not to offer sequencing operations to an unauthorized user.
      Returns:
      false if PriceEnabler ordering is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • movePriceEnablerAhead

      void movePriceEnablerAhead(Id priceEnablerId, Id priceId, Id referenceId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Reorders price enablers for a price by moving the specified price enabler in front of a reference price enabler.
      Parameters:
      priceEnablerId - the Id of a PriceEnabler
      priceId - the Id of a Price
      referenceId - the reference price enabler Id
      Throws:
      NotFoundException - priceEnablerId, priceId , or referenceId not found or, priceEnablerId or referenceId not related to priceId
      NullArgumentException - priceEnablerId, priceId , or referenceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • movePriceEnablerBehind

      void movePriceEnablerBehind(Id priceEnablerId, Id priceId, Id referenceId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Reorders price enablers for a price by moving the specified price enabler behind a reference price enabler.
      Parameters:
      priceEnablerId - the Id of a PriceEnabler
      priceId - the Id of a Price
      referenceId - the reference price enabler Id
      Throws:
      NotFoundException - priceEnablerId, priceId , or referenceId not found or, priceEnablerId or referenceId not related to priceId
      NullArgumentException - priceEnablerId, priceId , or referenceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • orderPriceEnablers

      void orderPriceEnablers(Id[] priceEnablerIds, Id priceId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Reorders a set of price enablers for a price.
      Parameters:
      priceEnablerIds - the Ids for a set of PriceEnablers
      priceId - the Id of a Price
      Throws:
      NotFoundException - priceId not found or, a priceEnablerId not related to priceId
      NullArgumentException - priceEnablerIds or priceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.