public class ValidatorUtils {
private static final Map<Class<?>, List<ApacheValidator.ConstraintCacheItem>> constraintCache = new ConcurrentHashMap<>();
public static List<ApacheValidator.ConstraintCacheItem> getConstraints(Class<?> clazz) {
if (!constraintCache.containsKey(clazz)) {
synchronized (constraintCache) {
if (!constraintCache.containsKey(clazz)) {
List<ConstraintCacheItem> constraints = convertToConstraints(clazz);
constraintCache.put(clazz, constraints);
}
}
}
return constraintCache.get(clazz);
}
private static List<ApacheValidator.ConstraintCacheItem> convertToConstraints(Class<?> clazz) {
// perform conversion and return the constraints
}
}
ValidatorFactory factory = Validation.byProvider(ApacheValidationProvider.class)
.configure()
.addProperty(ApacheValidatorConfiguration.Properties.FAIL_FAST, "true")
.buildValidatorFactory();
ValidatorFactory factory = Validation.byProvider(ApacheValidationProvider.class)
.configure()
.addProperty(ApacheValidatorConfiguration.Properties.VALIDATION_PROVIDER_MODE, "method")
.buildValidatorFactory();