Package jakarta.validation
Interface ConstraintValidator<A extends Annotation,T>
- Type Parameters:
A- the annotation type handled by an implementationT- the target type supported by an implementation
- All Known Subinterfaces:
HibernateConstraintValidator<A,T>
- All Known Implementing Classes:
AbstractDecimalMaxValidator,AbstractDecimalMinValidator,AbstractEmailValidator,AbstractEpochBasedTimeValidator,AbstractFutureEpochBasedValidator,AbstractFutureInstantBasedValidator,AbstractFutureJavaTimeValidator,AbstractFutureOrPresentEpochBasedValidator,AbstractFutureOrPresentInstantBasedValidator,AbstractFutureOrPresentJavaTimeValidator,AbstractInstantBasedTimeValidator,AbstractJavaTimeValidator,AbstractMaxValidator,AbstractMinValidator,AbstractPastEpochBasedValidator,AbstractPastInstantBasedValidator,AbstractPastJavaTimeValidator,AbstractPastOrPresentEpochBasedValidator,AbstractPastOrPresentInstantBasedValidator,AbstractPastOrPresentJavaTimeValidator,AbstractScriptAssertValidator,AssertFalseValidator,AssertTrueValidator,CNPJValidator,CodePointLengthValidator,CPFValidator,CurrencyValidatorForMonetaryAmount,DecimalMaxValidatorForBigDecimal,DecimalMaxValidatorForBigInteger,DecimalMaxValidatorForByte,DecimalMaxValidatorForCharSequence,DecimalMaxValidatorForDouble,DecimalMaxValidatorForFloat,DecimalMaxValidatorForInteger,DecimalMaxValidatorForLong,DecimalMaxValidatorForMonetaryAmount,DecimalMaxValidatorForNumber,DecimalMaxValidatorForShort,DecimalMinValidatorForBigDecimal,DecimalMinValidatorForBigInteger,DecimalMinValidatorForByte,DecimalMinValidatorForCharSequence,DecimalMinValidatorForDouble,DecimalMinValidatorForFloat,DecimalMinValidatorForInteger,DecimalMinValidatorForLong,DecimalMinValidatorForMonetaryAmount,DecimalMinValidatorForNumber,DecimalMinValidatorForShort,DigitsValidatorForCharSequence,DigitsValidatorForMonetaryAmount,DigitsValidatorForNumber,DurationMaxValidator,DurationMinValidator,EANValidator,EmailValidator,EmailValidator,FutureOrPresentValidatorForCalendar,FutureOrPresentValidatorForDate,FutureOrPresentValidatorForHijrahDate,FutureOrPresentValidatorForInstant,FutureOrPresentValidatorForJapaneseDate,FutureOrPresentValidatorForLocalDate,FutureOrPresentValidatorForLocalDateTime,FutureOrPresentValidatorForLocalTime,FutureOrPresentValidatorForMinguoDate,FutureOrPresentValidatorForMonthDay,FutureOrPresentValidatorForOffsetDateTime,FutureOrPresentValidatorForOffsetTime,FutureOrPresentValidatorForReadableInstant,FutureOrPresentValidatorForReadablePartial,FutureOrPresentValidatorForThaiBuddhistDate,FutureOrPresentValidatorForYear,FutureOrPresentValidatorForYearMonth,FutureOrPresentValidatorForZonedDateTime,FutureValidatorForCalendar,FutureValidatorForDate,FutureValidatorForHijrahDate,FutureValidatorForInstant,FutureValidatorForJapaneseDate,FutureValidatorForLocalDate,FutureValidatorForLocalDateTime,FutureValidatorForLocalTime,FutureValidatorForMinguoDate,FutureValidatorForMonthDay,FutureValidatorForOffsetDateTime,FutureValidatorForOffsetTime,FutureValidatorForReadableInstant,FutureValidatorForReadablePartial,FutureValidatorForThaiBuddhistDate,FutureValidatorForYear,FutureValidatorForYearMonth,FutureValidatorForZonedDateTime,INNValidator,ISBNValidator,LengthValidator,LuhnCheckValidator,MaxValidatorForBigDecimal,MaxValidatorForBigInteger,MaxValidatorForByte,MaxValidatorForCharSequence,MaxValidatorForDouble,MaxValidatorForFloat,MaxValidatorForInteger,MaxValidatorForLong,MaxValidatorForMonetaryAmount,MaxValidatorForNumber,MaxValidatorForShort,MinValidatorForBigDecimal,MinValidatorForBigInteger,MinValidatorForByte,MinValidatorForCharSequence,MinValidatorForDouble,MinValidatorForFloat,MinValidatorForInteger,MinValidatorForLong,MinValidatorForMonetaryAmount,MinValidatorForNumber,MinValidatorForShort,Mod10CheckValidator,Mod11CheckValidator,ModCheckValidator,NegativeOrZeroValidatorForBigDecimal,NegativeOrZeroValidatorForBigInteger,NegativeOrZeroValidatorForByte,NegativeOrZeroValidatorForCharSequence,NegativeOrZeroValidatorForDouble,NegativeOrZeroValidatorForFloat,NegativeOrZeroValidatorForInteger,NegativeOrZeroValidatorForLong,NegativeOrZeroValidatorForMonetaryAmount,NegativeOrZeroValidatorForNumber,NegativeOrZeroValidatorForShort,NegativeValidatorForBigDecimal,NegativeValidatorForBigInteger,NegativeValidatorForByte,NegativeValidatorForCharSequence,NegativeValidatorForDouble,NegativeValidatorForFloat,NegativeValidatorForInteger,NegativeValidatorForLong,NegativeValidatorForMonetaryAmount,NegativeValidatorForNumber,NegativeValidatorForShort,NIPValidator,NormalizedValidator,NotBlankValidator,NotBlankValidator,NotEmptyValidatorForArray,NotEmptyValidatorForArraysOfBoolean,NotEmptyValidatorForArraysOfByte,NotEmptyValidatorForArraysOfChar,NotEmptyValidatorForArraysOfDouble,NotEmptyValidatorForArraysOfFloat,NotEmptyValidatorForArraysOfInt,NotEmptyValidatorForArraysOfLong,NotEmptyValidatorForArraysOfShort,NotEmptyValidatorForCharSequence,NotEmptyValidatorForCollection,NotEmptyValidatorForMap,NotNullValidator,NullValidator,ParameterScriptAssertValidator,PastOrPresentValidatorForCalendar,PastOrPresentValidatorForDate,PastOrPresentValidatorForHijrahDate,PastOrPresentValidatorForInstant,PastOrPresentValidatorForJapaneseDate,PastOrPresentValidatorForLocalDate,PastOrPresentValidatorForLocalDateTime,PastOrPresentValidatorForLocalTime,PastOrPresentValidatorForMinguoDate,PastOrPresentValidatorForMonthDay,PastOrPresentValidatorForOffsetDateTime,PastOrPresentValidatorForOffsetTime,PastOrPresentValidatorForReadableInstant,PastOrPresentValidatorForReadablePartial,PastOrPresentValidatorForThaiBuddhistDate,PastOrPresentValidatorForYear,PastOrPresentValidatorForYearMonth,PastOrPresentValidatorForZonedDateTime,PastValidatorForCalendar,PastValidatorForDate,PastValidatorForHijrahDate,PastValidatorForInstant,PastValidatorForJapaneseDate,PastValidatorForLocalDate,PastValidatorForLocalDateTime,PastValidatorForLocalTime,PastValidatorForMinguoDate,PastValidatorForMonthDay,PastValidatorForOffsetDateTime,PastValidatorForOffsetTime,PastValidatorForReadableInstant,PastValidatorForReadablePartial,PastValidatorForThaiBuddhistDate,PastValidatorForYear,PastValidatorForYearMonth,PastValidatorForZonedDateTime,PatternValidator,PESELValidator,PolishNumberValidator,PositiveOrZeroValidatorForBigDecimal,PositiveOrZeroValidatorForBigInteger,PositiveOrZeroValidatorForByte,PositiveOrZeroValidatorForCharSequence,PositiveOrZeroValidatorForDouble,PositiveOrZeroValidatorForFloat,PositiveOrZeroValidatorForInteger,PositiveOrZeroValidatorForLong,PositiveOrZeroValidatorForMonetaryAmount,PositiveOrZeroValidatorForNumber,PositiveOrZeroValidatorForShort,PositiveValidatorForBigDecimal,PositiveValidatorForBigInteger,PositiveValidatorForByte,PositiveValidatorForCharSequence,PositiveValidatorForDouble,PositiveValidatorForFloat,PositiveValidatorForInteger,PositiveValidatorForLong,PositiveValidatorForMonetaryAmount,PositiveValidatorForNumber,PositiveValidatorForShort,RegexpURLValidator,REGONValidator,ScriptAssertValidator,SizeValidatorForArray,SizeValidatorForArraysOfBoolean,SizeValidatorForArraysOfByte,SizeValidatorForArraysOfChar,SizeValidatorForArraysOfDouble,SizeValidatorForArraysOfFloat,SizeValidatorForArraysOfInt,SizeValidatorForArraysOfLong,SizeValidatorForArraysOfShort,SizeValidatorForCharSequence,SizeValidatorForCollection,SizeValidatorForMap,UniqueElementsValidator,URLValidator,UUIDValidator
public interface ConstraintValidator<A extends Annotation,T>
Defines the logic to validate a given constraint
A
for a given object type T.
Implementations must comply to the following restriction:
Tmust resolve to a non parameterized type- or generic parameters of
Tmust be unbounded wildcard types
The annotation SupportedValidationTarget can be put on a
ConstraintValidator implementation to mark it as supporting
cross-parameter constraints. Check out SupportedValidationTarget
and Constraint for more information.
- Author:
- Emmanuel Bernard, Hardy Ferentschik
-
Method Summary
Modifier and TypeMethodDescriptiondefault voidinitialize(A constraintAnnotation) Initializes the validator in preparation forisValid(Object, ConstraintValidatorContext)calls.booleanisValid(T value, ConstraintValidatorContext context) Implements the validation logic.
-
Method Details
-
initialize
Initializes the validator in preparation forisValid(Object, ConstraintValidatorContext)calls. The constraint annotation for a given constraint declaration is passed.This method is guaranteed to be called before any use of this instance for validation.
The default implementation is a no-op.
- Parameters:
constraintAnnotation- annotation instance for a given constraint declaration
-
isValid
Implements the validation logic. The state ofvaluemust not be altered.This method can be accessed concurrently, thread-safety must be ensured by the implementation.
- Parameters:
value- object to validatecontext- context in which the constraint is evaluated- Returns:
falseifvaluedoes not pass the constraint
-