Class DefaultVariantBasedProductTypeValidator
java.lang.Object
com.broadleafcommerce.catalog.service.validation.product.type.DefaultVariantBasedProductTypeValidator
- All Implemented Interfaces:
ProductTypeValidator
The default validator that is used to validate products whose
types
are DefaultProductType.VARIANT_BASED
.- Author:
- Sunny Yu
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
canValidateCreate
(Product product) Whether or not this validator supports validation to create this product.boolean
canValidateReplace
(Product product, Product existingProduct) Whether or not this validator supports validation to replace this product.boolean
canValidateUpdate
(Product product, Product existingProduct) Whether or not this validator supports validation to update this product.protected VariantService<Variant>
void
setVariantService
(VariantService<Variant> variantService) Lazy injection since this validator is itself a service component.protected void
validateIncludedProducts
(Product businessInstance, org.springframework.validation.Errors errors) void
validateProductForCreate
(Product product, org.springframework.validation.Errors errors, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Validate the product for create.void
validateProductForReplace
(Product product, org.springframework.validation.Errors errors, Product existingProduct, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Validate the product for replace.void
validateProductForUpdate
(Product product, org.springframework.validation.Errors errors, Product existingProduct, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Validate the product for update.protected void
validateVariant
(Variant variant, Product product, org.springframework.validation.Errors errors) protected void
validateVariants
(Product businessInstance, org.springframework.validation.Errors errors, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.broadleafcommerce.catalog.service.validation.product.type.ProductTypeValidator
validateDefaultPrice
-
Constructor Details
-
DefaultVariantBasedProductTypeValidator
public DefaultVariantBasedProductTypeValidator()
-
-
Method Details
-
setVariantService
Lazy injection since this validator is itself a service component. This avoids circular dependency exceptions- Parameters:
variantService
- the variant service
-
canValidateCreate
Description copied from interface:ProductTypeValidator
Whether or not this validator supports validation to create this product.- Specified by:
canValidateCreate
in interfaceProductTypeValidator
- Parameters:
product
- the product to validate- Returns:
- true if this validator can validate the product creation
-
canValidateUpdate
Description copied from interface:ProductTypeValidator
Whether or not this validator supports validation to update this product.- Specified by:
canValidateUpdate
in interfaceProductTypeValidator
- Parameters:
product
- the product to validate- Returns:
- true if this validator can validate the product update
-
canValidateReplace
Description copied from interface:ProductTypeValidator
Whether or not this validator supports validation to replace this product.- Specified by:
canValidateReplace
in interfaceProductTypeValidator
- Parameters:
product
- the product to validate- Returns:
- true if this validator can validate the product replace
-
validateProductForCreate
public void validateProductForCreate(Product product, org.springframework.validation.Errors errors, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Description copied from interface:ProductTypeValidator
Validate the product for create.- Specified by:
validateProductForCreate
in interfaceProductTypeValidator
- Parameters:
product
- the product to validateerrors
- holder for validation context information. When adding field validation errors, the field names should be in the context of the productcontext
- current context this validation is running in
-
validateProductForUpdate
public void validateProductForUpdate(Product product, org.springframework.validation.Errors errors, Product existingProduct, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Description copied from interface:ProductTypeValidator
Validate the product for update.- Specified by:
validateProductForUpdate
in interfaceProductTypeValidator
- Parameters:
product
- the product to validateerrors
- holder for validation context information. When adding field validation errors, the field names should be in the context of the productexistingProduct
- the current product in the databasecontext
- current context this validation is running in
-
validateProductForReplace
public void validateProductForReplace(Product product, org.springframework.validation.Errors errors, Product existingProduct, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Description copied from interface:ProductTypeValidator
Validate the product for replace.- Specified by:
validateProductForReplace
in interfaceProductTypeValidator
- Parameters:
product
- the product to validateerrors
- holder for validation context information. When adding field validation errors, the field names should be in the context of the productexistingProduct
- the current product in the databasecontext
- current context this validation is running in
-
validateVariants
protected void validateVariants(Product businessInstance, org.springframework.validation.Errors errors, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) -
validateVariant
-
validateIncludedProducts
protected void validateIncludedProducts(Product businessInstance, org.springframework.validation.Errors errors) -
getVariantService
-