Class DefaultProductAvailabilityStrategy

java.lang.Object
de.hybris.platform.stock.strategy.impl.DefaultProductAvailabilityStrategy
All Implemented Interfaces:
ProductAvailabilityStrategy

public class DefaultProductAvailabilityStrategy extends Object implements ProductAvailabilityStrategy
  • Constructor Details

    • DefaultProductAvailabilityStrategy

      public DefaultProductAvailabilityStrategy()
  • Method Details

    • parse

      public String parse(Map<WarehouseModel,Integer> quantities, String productCode, Date date, LanguageModel language)
      Converted the mapped quantities in a textual representation.

      The default templates will generate output like ...

        Warehouse: {warehouse} Product: {product} Availability: {availability} Date: {date}
        ...
        Warehouse: {warehouse} Product: {product} Availability: {availability} Date: {date}
        Total: {total}
       
      Specified by:
      parse in interface ProductAvailabilityStrategy
      Parameters:
      quantities - the mapped quantities
      productCode - the product for which the quantities belongs to
      date - the date of the availability (unused yet)
      language - the language used for the localization process
    • parse

      public String parse(Map<WarehouseModel,Date> quantities, String productCode, int quantity, LanguageModel language)
      Converted the mapped availability in a textual representation.

      The default templates will generate output like ...

        Warehouse: {warehouse} Product: {product} Availability: {availability} Date: {date}
        ...
        Warehouse: {warehouse} Product: {product} Availability: {availability} Date: {date}
        Total: {total}
       
      Specified by:
      parse in interface ProductAvailabilityStrategy
      Parameters:
      quantities - the mapped availability dates
    • getAvailability

      public Map<WarehouseModel,Integer> getAvailability(String productCode, List<WarehouseModel> warehouses, Date date)
      Gets the product quantity for the specified product, warehouses and date.
      Specified by:
      getAvailability in interface ProductAvailabilityStrategy
      Parameters:
      warehouses - the warehouses
      productCode - code of the product
      date - the date the specified quantity has to be available at least. ... will NOT be evaluated by this implementation !!!
      Returns:
      Returns mapped available quantity of product in all specified warehouses.
    • getAvailability

      public Map<WarehouseModel,Date> getAvailability(String productCode, List<WarehouseModel> warehouses, int preOrderQuantity)
      Returns product availability, passing product, and quantity as parameters.
      Specified by:
      getAvailability in interface ProductAvailabilityStrategy
      Parameters:
      productCode - code of the product
      warehouses - the warehouses
      preOrderQuantity - the asked min. preOrderQuantity
      Returns:
      Returns the date, when the questioned quantity will be available
    • getBestMatchOfQuantity

      public WarehouseModel getBestMatchOfQuantity(Map<WarehouseModel,Integer> map)
      Specified by:
      getBestMatchOfQuantity in interface ProductAvailabilityStrategy
    • getBestMatchOfAvailability

      public WarehouseModel getBestMatchOfAvailability(Map<WarehouseModel,Date> map)
      Specified by:
      getBestMatchOfAvailability in interface ProductAvailabilityStrategy
    • setI18nService

      public void setI18nService(I18NService i18nService)
    • setBundleProvider

      public void setBundleProvider(ResourceBundleProvider bundleProvider)
    • setBestMatchStrategy

      public void setBestMatchStrategy(BestMatchStrategy bestMatchStrategy)
      Parameters:
      bestMatchStrategy - the bestMatchStrategy to set
    • setStockLevelDao

      public void setStockLevelDao(StockLevelDao stockLevelDao)