org.broadleafcommerce.openadmin.server.service.persistence.validation
Interface EntityValidatorService

All Known Implementing Classes:
BeanValidationEntityValidatorServiceImpl, EntityValidatorServiceImpl

public interface EntityValidatorService

Validates all of the populated properties for entities

Author:
Phillip Verheyden
See Also:
BasicPersistenceModule#createPopulatedInstance(Serializable, Entity, Map, Boolean)}

Method Summary
 List<GlobalPropertyValidator> getGlobalEntityValidators()
           
 void setGlobalEntityValidators(List<GlobalPropertyValidator> globalEntityValidators)
          Set the global validators that will be run on every entity that is attempted to be saved in the admin.
 void validate(Entity submittedEntity, Serializable instance, Map<String,FieldMetadata> propertiesMetadata, RecordHelper recordHelper)
          Validate the given entity.
 

Method Detail

validate

void validate(Entity submittedEntity,
              Serializable instance,
              Map<String,FieldMetadata> propertiesMetadata,
              RecordHelper recordHelper)
Validate the given entity. Implementers should set Entity.setValidationFailure(boolean) appropriately. Validation is invoked after the entire instance has been populated according to BasicPersistenceModule.createPopulatedInstance(Serializable, Entity, Map, Boolean).

Parameters:
entity - DTO representation of instance
instance - actual domain representation of entity
propertiesMetadata - all of the merged properties metadata for the given Entity
Throws:
InstantiationException
IllegalAccessException
ClassNotFoundException

getGlobalEntityValidators

List<GlobalPropertyValidator> getGlobalEntityValidators()
Returns:
the global validators that will be executed for every Entity

setGlobalEntityValidators

void setGlobalEntityValidators(List<GlobalPropertyValidator> globalEntityValidators)

Set the global validators that will be run on every entity that is attempted to be saved in the admin. Global validators are useful to operate on things like field types and other scenarios that could occur with a number of entities. Rather than being required to define a ValidationConfiguration on all of those properties, this can more conveniently validate that set of properties.

An example of a global validator in Broadleaf is the RequiredPropertyValidator which will ensure that every property that is marked as required will fail validation if a value is unset.

Parameters:
globalEntityValidators - the globalEntityValidators to set


Copyright © 2013. All Rights Reserved.