Class PriceDataValidator

java.lang.Object
com.broadleafcommerce.pricing.service.validation.PriceDataValidator
All Implemented Interfaces:
com.broadleafcommerce.data.tracking.core.mapping.validation.EntityValidator

public class PriceDataValidator extends Object implements com.broadleafcommerce.data.tracking.core.mapping.validation.EntityValidator
Author:
Chad Harchar (charchar)
  • Constructor Details

    • PriceDataValidator

      public PriceDataValidator()
  • Method Details

    • setPriceDataService

      @Autowired @Lazy public void setPriceDataService(PriceDataService<PriceData> priceDataService)
      Lazy injection since this validator is itself a service component. This avoids circular dependency exceptions
      Parameters:
      priceDataService - the price data service
    • setPriceListService

      @Autowired @Lazy public void setPriceListService(PriceListService<PriceList> priceListService)
    • supports

      public boolean supports(Class<?> serviceClass, com.broadleafcommerce.data.tracking.core.context.ContextInfo context)
      Specified by:
      supports in interface com.broadleafcommerce.data.tracking.core.mapping.validation.EntityValidator
    • validateForUpdate

      public void validateForUpdate(@NonNull Object updatedBusinessInstance, @NonNull org.springframework.validation.Errors errors, com.broadleafcommerce.data.tracking.core.context.ContextInfo context)
      Specified by:
      validateForUpdate in interface com.broadleafcommerce.data.tracking.core.mapping.validation.EntityValidator
    • validateForReplace

      public void validateForReplace(@NonNull Object businessInstance, @NonNull org.springframework.validation.Errors errors, com.broadleafcommerce.data.tracking.core.context.ContextInfo context)
      Specified by:
      validateForReplace in interface com.broadleafcommerce.data.tracking.core.mapping.validation.EntityValidator
    • validateForModification

      protected void validateForModification(@NonNull Object businessInstance, @NonNull org.springframework.validation.Errors errors, com.broadleafcommerce.data.tracking.core.context.ContextInfo context)
    • validateTargetVendorRefUnchanged

      protected void validateTargetVendorRefUnchanged(PriceData newPriceData, PriceData oldPriceData, org.springframework.validation.Errors errors)
    • validate

      public void validate(@NonNull Object businessInstance, @NonNull org.springframework.validation.Errors errors, com.broadleafcommerce.data.tracking.core.context.ContextInfo context)
      Specified by:
      validate in interface com.broadleafcommerce.data.tracking.core.mapping.validation.EntityValidator
    • currencyForValidation

      protected Currency currencyForValidation()
      Uses a currency with 3 digits to not lose precision on the amount.
      Returns:
    • validatePriceList

      protected void validatePriceList(PriceData priceData, org.springframework.validation.Errors errors, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • validatePrice

      protected void validatePrice(PriceData priceData, org.springframework.validation.Errors errors)
    • validateLimitedQuantityGroup

      protected void validateLimitedQuantityGroup(PriceData priceData, org.springframework.validation.Errors errors)
      Validate the limitedQuantityGroup containing the startingQuantity and the availableQuantity fields for correct values
      Parameters:
      priceData - the priceData instance
      errors - the errors instance
    • validateRecurringPrice

      protected void validateRecurringPrice(PriceData priceData, org.springframework.validation.Errors errors)
      Validate fields when PriceData.getRecurringPrice() is present.
      Parameters:
      priceData - The PriceData to validate.
      errors - The object tracking errors found.
      Since:
      Pricing Service 2.1.0, Release Train 2.2.0
    • validateTerms

      public void validateTerms(PriceData priceData, org.springframework.validation.Errors errors)
    • validateUsagePrice

      protected void validateUsagePrice(PriceData priceData, org.springframework.validation.Errors errors)
      Validate fields when PriceData.getUsagePrice() is present.
      Parameters:
      priceData - The PriceData to validate.
      errors - The object tracking errors found.
      Since:
      Pricing Service 2.1.0, Release Train 2.2.0
    • validateActiveStartDate

      protected void validateActiveStartDate(org.springframework.validation.Errors errors)
    • validateEndDate

      protected void validateEndDate(PriceData priceData, org.springframework.validation.Errors errors)
    • validateTarget

      protected void validateTarget(PriceData priceData, org.springframework.validation.Errors errors, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • validateTiers

      protected void validateTiers(PriceData priceData, org.springframework.validation.Errors errors)
    • validateTier

      protected void validateTier(PriceDataTier tier, org.springframework.validation.Errors errors)
    • getPriceDataService

      @NonNull protected PriceDataService<PriceData> getPriceDataService()
    • getPriceListService

      @NonNull protected PriceListService<PriceList> getPriceListService()