Class VariantOptionCharacteristicValueValidator

java.lang.Object
com.broadleafcommerce.catalog.service.validation.characteristic.VariantOptionCharacteristicValueValidator
All Implemented Interfaces:
CharacteristicValueValidator

public class VariantOptionCharacteristicValueValidator extends Object implements CharacteristicValueValidator
An implementation of CharacteristicValueValidator that handles validation for the CharacteristicValue of a Characteristic with a VARIANT_OPTION Characteristic.valueType.

This has separate handling from SimpleCharacteristicValueValidator because a Characteristic with VARIANT_OPTION value type can have multiple value entries whose value types are all expected to be STRING, and also has a label for each value entry.

Since:
Catalog Service 2.2.0, Release Train 2.2.0
Author:
Julia Lopez-Pozas (jlopezpozas)
  • Constructor Details

    • VariantOptionCharacteristicValueValidator

      public VariantOptionCharacteristicValueValidator()
    • VariantOptionCharacteristicValueValidator

      public VariantOptionCharacteristicValueValidator(List<String> characteristicValueTypes)
      Parameters:
      characteristicValueTypes - the list of allowed value types
      Since:
      Catalog Service 2.2.1, Release Train 2.2.1
  • Method Details

    • canHandle

      public boolean canHandle(@NonNull @NonNull CharacteristicValue characteristicValue, @Nullable Characteristic characteristic)
      Description copied from interface: CharacteristicValueValidator
      Checks if this Validator can handle validation for the given CharacteristicValue.valueType.
      Specified by:
      canHandle in interface CharacteristicValueValidator
      Parameters:
      characteristicValue - the CharacteristicValue object to check against this Validator's expected Characteristic.valueTypes.
      characteristic - the Characteristic object to check against this Validator's expected Characteristic.valueType. Can be null if the Validator has no need for the Characteristic, like SimpleCharacteristicValueValidator
      Returns:
      true if this Validator handles validation for the Characteristic.value of this Characteristic.valueType, false if not
    • validate

      public void validate(@NonNull @NonNull CharacteristicValue characteristicValue, @NonNull @NonNull org.springframework.validation.Errors errors, @Nullable Characteristic characteristic)
      Description copied from interface: CharacteristicValueValidator
      Validates that each CharacteristicValue.value matches its CharacteristicValue.valueType, along with some DefaultCharacteristicValueValueType specific validation for CharacteristicValues.
      Specified by:
      validate in interface CharacteristicValueValidator
      Parameters:
      characteristicValue - The product characteristic value to validate
      errors - Holder for validation context information
      characteristic - The product characteristic that can be used for validation, if necessary
    • getCharacteristicValueTypes

      protected List<String> getCharacteristicValueTypes()
    • setCharacteristicValueTypes

      protected void setCharacteristicValueTypes(List<String> characteristicValueTypes)