Package io.jmix.dynmodel.impl
Class DynamicModelValidatorImpl
java.lang.Object
io.jmix.dynmodel.impl.DynamicModelValidatorImpl
- All Implemented Interfaces:
DynamicModelValidator
@Component("dynmod_DynamicModelValidator")
public class DynamicModelValidatorImpl
extends Object
implements DynamicModelValidator
Default implementation of dynamic model validation.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classprotected static final recordprotected static class -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected List<DynamicModelConstraintValidator> protected CurrentAuthenticationprotected static final Stringprotected DynamicModelToolsprotected Metadataprotected final org.springframework.expression.spel.standard.SpelExpressionParser -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanappliesToGroups(List<String> constraintGroups, List<Class<?>> activeGroups) protected booleancompareDecimalBoundary(Object value, DynamicAttributeConstraintDefinition constraint, String parameterName, boolean min) protected intcompareTemporal(Object value) protected StringdefaultMessage(String annotation) protected booleanevaluateExpressionConstraint(Object entity, DynamicEntityConstraintDefinition constraint) protected DynamicModelConstraintValidatorfindConstraintValidator(@Nullable String name) protected booleanprotected booleanisValueValid(DynamicAttributeConstraintDefinition constraint, @Nullable Object value) protected BigDecimalparameterBigDecimal(DynamicAttributeConstraintDefinition constraint, String name) protected booleanparameterBoolean(DynamicAttributeConstraintDefinition constraint, String name, boolean defaultValue) protected intparameterInt(DynamicAttributeConstraintDefinition constraint, String name, int defaultValue) protected StringparameterString(DynamicAttributeConstraintDefinition constraint, String name) protected Class<?> resolveGroup(String group) resolveGroups(Class<?>... groups) protected StringresolveLocalizedValue(@Nullable LocalizedValue value, String defaultValue) protected StringresolveMessage(DynamicAttributeConstraintDefinition constraint) protected StringresolveMessage(DynamicEntityConstraintDefinition constraint) protected StringresolveMessageTemplate(String annotation) protected intprotected BigDecimaltoBigDecimal(Object value) Validates all dynamic constraints of the entity for the specified groups.protected booleanvalidateDigits(DynamicAttributeConstraintDefinition constraint, Object value) protected List<DynamicConstraintViolation> validateEntity(Object entity, MetaClass metaClass, List<Class<?>> activeGroups) protected booleanvalidateSize(DynamicAttributeConstraintDefinition constraint, Object value) validateValue(MetaClass metaClass, String propertyName, @Nullable Object value, Class<?>... groups) Validates a single dynamic property value for the specified groups.
-
Field Details
-
DEFAULT_EVALUATOR
- See Also:
-
parser
protected final org.springframework.expression.spel.standard.SpelExpressionParser parser -
metadata
-
dynamicModelTools
-
constraintValidators
-
currentAuthentication
-
-
Constructor Details
-
DynamicModelValidatorImpl
public DynamicModelValidatorImpl()
-
-
Method Details
-
validate
public Set<jakarta.validation.ConstraintViolation<Object>> validate(Object entity, Class<?>... groups) Validates all dynamic constraints of the entity for the specified groups.- Specified by:
validatein interfaceDynamicModelValidator- Parameters:
entity- entity to validategroups- validation groups- Returns:
- constraint violations
-
validateValue
public List<DynamicConstraintViolation> validateValue(MetaClass metaClass, String propertyName, @Nullable Object value, Class<?>... groups) Validates a single dynamic property value for the specified groups.- Specified by:
validateValuein interfaceDynamicModelValidator- Parameters:
metaClass- owner metadata classpropertyName- property namevalue- property valuegroups- validation groups- Returns:
- dynamic constraint violations
-
validateEntity
-
evaluateExpressionConstraint
protected boolean evaluateExpressionConstraint(Object entity, DynamicEntityConstraintDefinition constraint) -
findConstraintValidator
-
isValueValid
protected boolean isValueValid(DynamicAttributeConstraintDefinition constraint, @Nullable Object value) -
validateSize
-
compareDecimalBoundary
protected boolean compareDecimalBoundary(Object value, DynamicAttributeConstraintDefinition constraint, String parameterName, boolean min) -
validateDigits
-
isEmpty
-
sizeOf
-
compareTemporal
-
toBigDecimal
-
resolveMessage
-
resolveMessage
-
resolveLocalizedValue
-
defaultMessage
-
resolveMessageTemplate
-
resolveGroups
-
appliesToGroups
-
resolveGroup
-
parameterInt
protected int parameterInt(DynamicAttributeConstraintDefinition constraint, String name, int defaultValue) -
parameterBoolean
protected boolean parameterBoolean(DynamicAttributeConstraintDefinition constraint, String name, boolean defaultValue) -
parameterBigDecimal
protected BigDecimal parameterBigDecimal(DynamicAttributeConstraintDefinition constraint, String name) -
parameterString
-