Class DefaultConstraintValidators
- java.lang.Object
-
- io.micronaut.validation.validator.constraints.DefaultConstraintValidators
-
- All Implemented Interfaces:
ConstraintValidatorRegistry
@Singleton @Introspected public class DefaultConstraintValidators extends java.lang.Object implements ConstraintValidatorRegistry
A factory bean that contains implementation for many of the default validations. This approach is preferred as it generates less classes and smaller byte code than defining a validator class for each case.- Since:
- 1.2
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classDefaultConstraintValidators.ValidatorKey<A extends java.lang.annotation.Annotation,T>Key for caching validators.
-
Constructor Summary
Constructors Modifier Constructor Description DefaultConstraintValidators()Default constructor.protectedDefaultConstraintValidators(io.micronaut.context.BeanContext beanContext)Constructor used for DI.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <A extends java.lang.annotation.Annotation,T>
java.util.Optional<ConstraintValidator<A,T>>findConstraintValidator(java.lang.Class<A> constraintType, java.lang.Class<T> targetType)Finds a constraint validator for the given type and target type.protected <A extends java.lang.annotation.Annotation,T>
java.util.Optional<ConstraintValidator>findLocalConstraintValidator(java.lang.Class<A> constraintType, java.lang.Class<T> targetType)Last chance resolve for constraint validator.ConstraintValidator<javax.validation.constraints.AssertFalse,java.lang.Boolean>getAssertFalseValidator()TheAssertFalsevalidator.ConstraintValidator<javax.validation.constraints.AssertTrue,java.lang.Boolean>getAssertTrueValidator()TheAssertTruevalidator.DecimalMaxValidator<java.lang.CharSequence>getDecimalMaxValidatorCharSequence()TheDecimalMaxvalidator for char sequences.DecimalMaxValidator<java.lang.Number>getDecimalMaxValidatorNumber()TheDecimalMaxvalidator for number.DecimalMinValidator<java.lang.CharSequence>getDecimalMinValidatorCharSequence()TheDecimalMinvalidator for char sequences.DecimalMinValidator<java.lang.Number>getDecimalMinValidatorNumber()TheDecimalMinvalidator for number.DigitsValidator<java.lang.CharSequence>getDigitsValidatorCharSequence()TheDigitsvalidator for char sequence.DigitsValidator<java.lang.Number>getDigitsValidatorNumber()TheDigitsvalidator for number.ConstraintValidator<javax.validation.constraints.Future,java.util.Date>getFutureDateConstraintValidator()TheFuturevalidator for Date accessor.ConstraintValidator<javax.validation.constraints.FutureOrPresent,java.util.Date>getFutureOrPresentDateConstraintValidator()TheFutureOrPresentvalidator for Date accessor.ConstraintValidator<javax.validation.constraints.FutureOrPresent,java.time.temporal.TemporalAccessor>getFutureOrPresentTemporalAccessorConstraintValidator()TheFutureOrPresentvalidator for temporal accessor.ConstraintValidator<javax.validation.constraints.Future,java.time.temporal.TemporalAccessor>getFutureTemporalAccessorConstraintValidator()TheFuturevalidator for temporal accessor.ConstraintValidator<javax.validation.constraints.Max,java.lang.Number>getMaxNumberValidator()TheMaxvalidator for numbers.ConstraintValidator<javax.validation.constraints.Min,java.lang.Number>getMinNumberValidator()TheMinvalidator for numbers.ConstraintValidator<javax.validation.constraints.Negative,java.lang.Number>getNegativeNumberValidator()TheNegativevalidator for numbers.ConstraintValidator<javax.validation.constraints.NegativeOrZero,java.lang.Number>getNegativeOrZeroNumberValidator()TheNegativeOrZerovalidator for numbers.ConstraintValidator<javax.validation.constraints.NotBlank,java.lang.CharSequence>getNotBlankValidator()TheNotBlankvalidator for char sequences.ConstraintValidator<javax.validation.constraints.NotEmpty,boolean[]>getNotEmptyBooleanArrayValidator()TheNotEmptyvalidator for boolean[].ConstraintValidator<javax.validation.constraints.NotEmpty,byte[]>getNotEmptyByteArrayValidator()TheNotEmptyvalidator for byte[].ConstraintValidator<javax.validation.constraints.NotEmpty,char[]>getNotEmptyCharArrayValidator()TheNotEmptyvalidator for char[].ConstraintValidator<javax.validation.constraints.NotEmpty,java.lang.CharSequence>getNotEmptyCharSequenceValidator()TheNotEmptyvalidator for char sequence.ConstraintValidator<javax.validation.constraints.NotEmpty,java.util.Collection>getNotEmptyCollectionValidator()TheNotEmptyvalidator for collection.ConstraintValidator<javax.validation.constraints.NotEmpty,double[]>getNotEmptyDoubleArrayValidator()TheNotEmptyvalidator for double[].ConstraintValidator<javax.validation.constraints.NotEmpty,float[]>getNotEmptyFloatArrayValidator()TheNotEmptyvalidator for float[].ConstraintValidator<javax.validation.constraints.NotEmpty,int[]>getNotEmptyIntArrayValidator()TheNotEmptyvalidator for int[].ConstraintValidator<javax.validation.constraints.NotEmpty,long[]>getNotEmptyLongArrayValidator()TheNotEmptyvalidator for long[].ConstraintValidator<javax.validation.constraints.NotEmpty,java.util.Map>getNotEmptyMapValidator()TheNotEmptyvalidator for map.ConstraintValidator<javax.validation.constraints.NotEmpty,java.lang.Object[]>getNotEmptyObjectArrayValidator()TheNotEmptyvalidator for Object[].ConstraintValidator<javax.validation.constraints.NotEmpty,short[]>getNotEmptyShortArrayValidator()TheNotEmptyvalidator for short[].ConstraintValidator<javax.validation.constraints.NotNull,java.lang.Object>getNotNullValidator()TheNotNullvalidator.ConstraintValidator<javax.validation.constraints.Null,java.lang.Object>getNullValidator()TheNullvalidator.ConstraintValidator<javax.validation.constraints.Past,java.util.Date>getPastDateConstraintValidator()ThePastvalidator for Date accessor.ConstraintValidator<javax.validation.constraints.PastOrPresent,java.util.Date>getPastOrPresentDateConstraintValidator()ThePastOrPresentvalidator for Date accessor.ConstraintValidator<javax.validation.constraints.PastOrPresent,java.time.temporal.TemporalAccessor>getPastOrPresentTemporalAccessorConstraintValidator()ThePastOrPresentvalidator for temporal accessor.ConstraintValidator<javax.validation.constraints.Past,java.time.temporal.TemporalAccessor>getPastTemporalAccessorConstraintValidator()ThePastvalidator for temporal accessor.ConstraintValidator<javax.validation.constraints.Positive,java.lang.Number>getPositiveNumberValidator()ThePositivevalidator for numbers.ConstraintValidator<javax.validation.constraints.PositiveOrZero,java.lang.Number>getPositiveOrZeroNumberValidator()ThePositiveOrZerovalidator for numbers.SizeValidator<boolean[]>getSizeBooleanArrayValidator()TheSizevalidator for boolean[].SizeValidator<byte[]>getSizeByteArrayValidator()TheSizevalidator for byte[].SizeValidator<char[]>getSizeCharArrayValidator()TheSizevalidator for char[].SizeValidator<java.lang.CharSequence>getSizeCharSequenceValidator()TheSizevalidator for CharSequence.SizeValidator<java.util.Collection>getSizeCollectionValidator()TheSizevalidator for Collection.SizeValidator<double[]>getSizeDoubleArrayValidator()TheSizevalidator for double[].SizeValidator<float[]>getSizeFloatArrayValidator()TheSizevalidator for float[].SizeValidator<int[]>getSizeIntArrayValidator()TheSizevalidator for int[].SizeValidator<long[]>getSizeLongArrayValidator()TheSizevalidator for long[].SizeValidator<java.util.Map>getSizeMapValidator()TheSizevalidator for Map.SizeValidator<java.lang.Object[]>getSizeObjectArrayValidator()TheSizevalidator for Object[].SizeValidator<short[]>getSizeShortArrayValidator()TheSizevalidator for short[].-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.micronaut.validation.validator.constraints.ConstraintValidatorRegistry
getConstraintValidator
-
-
-
-
Constructor Detail
-
DefaultConstraintValidators
public DefaultConstraintValidators()
Default constructor.
-
DefaultConstraintValidators
@Inject protected DefaultConstraintValidators(@Nullable io.micronaut.context.BeanContext beanContext)Constructor used for DI.- Parameters:
beanContext- The bean context
-
-
Method Detail
-
findConstraintValidator
@NonNull public <A extends java.lang.annotation.Annotation,T> java.util.Optional<ConstraintValidator<A,T>> findConstraintValidator(@NonNull java.lang.Class<A> constraintType, @NonNull java.lang.Class<T> targetType)
Description copied from interface:ConstraintValidatorRegistryFinds a constraint validator for the given type and target type.- Specified by:
findConstraintValidatorin interfaceConstraintValidatorRegistry- Type Parameters:
A- The annotation typeT- The target type- Parameters:
constraintType- The annotation type of the constraint.targetType- The type being validated.- Returns:
- The validator
-
getAssertFalseValidator
public ConstraintValidator<javax.validation.constraints.AssertFalse,java.lang.Boolean> getAssertFalseValidator()
TheAssertFalsevalidator.- Returns:
- The validator
-
getAssertTrueValidator
public ConstraintValidator<javax.validation.constraints.AssertTrue,java.lang.Boolean> getAssertTrueValidator()
TheAssertTruevalidator.- Returns:
- The validator
-
getDecimalMaxValidatorCharSequence
public DecimalMaxValidator<java.lang.CharSequence> getDecimalMaxValidatorCharSequence()
TheDecimalMaxvalidator for char sequences.- Returns:
- The validator
-
getDecimalMaxValidatorNumber
public DecimalMaxValidator<java.lang.Number> getDecimalMaxValidatorNumber()
TheDecimalMaxvalidator for number.- Returns:
- The validator
-
getDecimalMinValidatorCharSequence
public DecimalMinValidator<java.lang.CharSequence> getDecimalMinValidatorCharSequence()
TheDecimalMinvalidator for char sequences.- Returns:
- The validator
-
getDecimalMinValidatorNumber
public DecimalMinValidator<java.lang.Number> getDecimalMinValidatorNumber()
TheDecimalMinvalidator for number.- Returns:
- The validator
-
getDigitsValidatorNumber
public DigitsValidator<java.lang.Number> getDigitsValidatorNumber()
TheDigitsvalidator for number.- Returns:
- The validator
-
getDigitsValidatorCharSequence
public DigitsValidator<java.lang.CharSequence> getDigitsValidatorCharSequence()
TheDigitsvalidator for char sequence.- Returns:
- The validator
-
getMaxNumberValidator
public ConstraintValidator<javax.validation.constraints.Max,java.lang.Number> getMaxNumberValidator()
TheMaxvalidator for numbers.- Returns:
- The validator
-
getMinNumberValidator
public ConstraintValidator<javax.validation.constraints.Min,java.lang.Number> getMinNumberValidator()
TheMinvalidator for numbers.- Returns:
- The validator
-
getNegativeNumberValidator
public ConstraintValidator<javax.validation.constraints.Negative,java.lang.Number> getNegativeNumberValidator()
TheNegativevalidator for numbers.- Returns:
- The validator
-
getNegativeOrZeroNumberValidator
public ConstraintValidator<javax.validation.constraints.NegativeOrZero,java.lang.Number> getNegativeOrZeroNumberValidator()
TheNegativeOrZerovalidator for numbers.- Returns:
- The validator
-
getPositiveNumberValidator
public ConstraintValidator<javax.validation.constraints.Positive,java.lang.Number> getPositiveNumberValidator()
ThePositivevalidator for numbers.- Returns:
- The validator
-
getPositiveOrZeroNumberValidator
public ConstraintValidator<javax.validation.constraints.PositiveOrZero,java.lang.Number> getPositiveOrZeroNumberValidator()
ThePositiveOrZerovalidator for numbers.- Returns:
- The validator
-
getNotBlankValidator
public ConstraintValidator<javax.validation.constraints.NotBlank,java.lang.CharSequence> getNotBlankValidator()
TheNotBlankvalidator for char sequences.- Returns:
- The validator
-
getNotNullValidator
public ConstraintValidator<javax.validation.constraints.NotNull,java.lang.Object> getNotNullValidator()
TheNotNullvalidator.- Returns:
- The validator
-
getNullValidator
public ConstraintValidator<javax.validation.constraints.Null,java.lang.Object> getNullValidator()
TheNullvalidator.- Returns:
- The validator
-
getNotEmptyByteArrayValidator
public ConstraintValidator<javax.validation.constraints.NotEmpty,byte[]> getNotEmptyByteArrayValidator()
TheNotEmptyvalidator for byte[].- Returns:
- The validator
-
getNotEmptyCharArrayValidator
public ConstraintValidator<javax.validation.constraints.NotEmpty,char[]> getNotEmptyCharArrayValidator()
TheNotEmptyvalidator for char[].- Returns:
- The validator
-
getNotEmptyBooleanArrayValidator
public ConstraintValidator<javax.validation.constraints.NotEmpty,boolean[]> getNotEmptyBooleanArrayValidator()
TheNotEmptyvalidator for boolean[].- Returns:
- The validator
-
getNotEmptyDoubleArrayValidator
public ConstraintValidator<javax.validation.constraints.NotEmpty,double[]> getNotEmptyDoubleArrayValidator()
TheNotEmptyvalidator for double[].- Returns:
- The validator
-
getNotEmptyFloatArrayValidator
public ConstraintValidator<javax.validation.constraints.NotEmpty,float[]> getNotEmptyFloatArrayValidator()
TheNotEmptyvalidator for float[].- Returns:
- The validator
-
getNotEmptyIntArrayValidator
public ConstraintValidator<javax.validation.constraints.NotEmpty,int[]> getNotEmptyIntArrayValidator()
TheNotEmptyvalidator for int[].- Returns:
- The validator
-
getNotEmptyLongArrayValidator
public ConstraintValidator<javax.validation.constraints.NotEmpty,long[]> getNotEmptyLongArrayValidator()
TheNotEmptyvalidator for long[].- Returns:
- The validator
-
getNotEmptyObjectArrayValidator
public ConstraintValidator<javax.validation.constraints.NotEmpty,java.lang.Object[]> getNotEmptyObjectArrayValidator()
TheNotEmptyvalidator for Object[].- Returns:
- The validator
-
getNotEmptyShortArrayValidator
public ConstraintValidator<javax.validation.constraints.NotEmpty,short[]> getNotEmptyShortArrayValidator()
TheNotEmptyvalidator for short[].- Returns:
- The validator
-
getNotEmptyCharSequenceValidator
public ConstraintValidator<javax.validation.constraints.NotEmpty,java.lang.CharSequence> getNotEmptyCharSequenceValidator()
TheNotEmptyvalidator for char sequence.- Returns:
- The validator
-
getNotEmptyCollectionValidator
public ConstraintValidator<javax.validation.constraints.NotEmpty,java.util.Collection> getNotEmptyCollectionValidator()
TheNotEmptyvalidator for collection.- Returns:
- The validator
-
getNotEmptyMapValidator
public ConstraintValidator<javax.validation.constraints.NotEmpty,java.util.Map> getNotEmptyMapValidator()
TheNotEmptyvalidator for map.- Returns:
- The validator
-
getSizeObjectArrayValidator
public SizeValidator<java.lang.Object[]> getSizeObjectArrayValidator()
TheSizevalidator for Object[].- Returns:
- The validator
-
getSizeByteArrayValidator
public SizeValidator<byte[]> getSizeByteArrayValidator()
TheSizevalidator for byte[].- Returns:
- The validator
-
getSizeCharArrayValidator
public SizeValidator<char[]> getSizeCharArrayValidator()
TheSizevalidator for char[].- Returns:
- The validator
-
getSizeBooleanArrayValidator
public SizeValidator<boolean[]> getSizeBooleanArrayValidator()
TheSizevalidator for boolean[].- Returns:
- The validator
-
getSizeDoubleArrayValidator
public SizeValidator<double[]> getSizeDoubleArrayValidator()
TheSizevalidator for double[].- Returns:
- The validator
-
getSizeFloatArrayValidator
public SizeValidator<float[]> getSizeFloatArrayValidator()
TheSizevalidator for float[].- Returns:
- The validator
-
getSizeIntArrayValidator
public SizeValidator<int[]> getSizeIntArrayValidator()
TheSizevalidator for int[].- Returns:
- The validator
-
getSizeLongArrayValidator
public SizeValidator<long[]> getSizeLongArrayValidator()
TheSizevalidator for long[].- Returns:
- The validator
-
getSizeShortArrayValidator
public SizeValidator<short[]> getSizeShortArrayValidator()
TheSizevalidator for short[].- Returns:
- The validator
-
getSizeCharSequenceValidator
public SizeValidator<java.lang.CharSequence> getSizeCharSequenceValidator()
TheSizevalidator for CharSequence.- Returns:
- The validator
-
getSizeCollectionValidator
public SizeValidator<java.util.Collection> getSizeCollectionValidator()
TheSizevalidator for Collection.- Returns:
- The validator
-
getSizeMapValidator
public SizeValidator<java.util.Map> getSizeMapValidator()
TheSizevalidator for Map.- Returns:
- The validator
-
getPastTemporalAccessorConstraintValidator
public ConstraintValidator<javax.validation.constraints.Past,java.time.temporal.TemporalAccessor> getPastTemporalAccessorConstraintValidator()
ThePastvalidator for temporal accessor.- Returns:
- The validator
-
getPastDateConstraintValidator
public ConstraintValidator<javax.validation.constraints.Past,java.util.Date> getPastDateConstraintValidator()
ThePastvalidator for Date accessor.- Returns:
- The validator
-
getPastOrPresentTemporalAccessorConstraintValidator
public ConstraintValidator<javax.validation.constraints.PastOrPresent,java.time.temporal.TemporalAccessor> getPastOrPresentTemporalAccessorConstraintValidator()
ThePastOrPresentvalidator for temporal accessor.- Returns:
- The validator
-
getPastOrPresentDateConstraintValidator
public ConstraintValidator<javax.validation.constraints.PastOrPresent,java.util.Date> getPastOrPresentDateConstraintValidator()
ThePastOrPresentvalidator for Date accessor.- Returns:
- The validator
-
getFutureTemporalAccessorConstraintValidator
public ConstraintValidator<javax.validation.constraints.Future,java.time.temporal.TemporalAccessor> getFutureTemporalAccessorConstraintValidator()
TheFuturevalidator for temporal accessor.- Returns:
- The validator
-
getFutureDateConstraintValidator
public ConstraintValidator<javax.validation.constraints.Future,java.util.Date> getFutureDateConstraintValidator()
TheFuturevalidator for Date accessor.- Returns:
- The validator
-
getFutureOrPresentTemporalAccessorConstraintValidator
public ConstraintValidator<javax.validation.constraints.FutureOrPresent,java.time.temporal.TemporalAccessor> getFutureOrPresentTemporalAccessorConstraintValidator()
TheFutureOrPresentvalidator for temporal accessor.- Returns:
- The validator
-
getFutureOrPresentDateConstraintValidator
public ConstraintValidator<javax.validation.constraints.FutureOrPresent,java.util.Date> getFutureOrPresentDateConstraintValidator()
TheFutureOrPresentvalidator for Date accessor.- Returns:
- The validator
-
findLocalConstraintValidator
protected <A extends java.lang.annotation.Annotation,T> java.util.Optional<ConstraintValidator> findLocalConstraintValidator(@NonNull java.lang.Class<A> constraintType, @NonNull java.lang.Class<T> targetType)
Last chance resolve for constraint validator.- Type Parameters:
A- The annotation typeT- The target type- Parameters:
constraintType- The constraint typetargetType- The target type- Returns:
- The validator if present
-
-