Skip to content

Commit

Permalink
Add @Nullable to methods in ValueValidator (#371)
Browse files Browse the repository at this point in the history
  • Loading branch information
making authored Apr 1, 2024
1 parent d33c47a commit 4e45f04
Showing 1 changed file with 11 additions and 8 deletions.
19 changes: 11 additions & 8 deletions src/main/java/am/ik/yavi/core/ValueValidator.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,16 @@
import java.util.function.Supplier;

import am.ik.yavi.fn.Validation;
import am.ik.yavi.jsr305.Nullable;

/**
* @since 0.8.0
*/
@FunctionalInterface
public interface ValueValidator<T, X> {

Validated<X> validate(T t, Locale locale, ConstraintContext constraintContext);
Validated<X> validate(@Nullable T t, Locale locale,
ConstraintContext constraintContext);

/**
* Return {@link ValueValidator} instance that always successes without validation.
Expand Down Expand Up @@ -65,33 +67,34 @@ default <A> ValueValidator<A, X> compose(Function<? super A, ? extends T> mapper
.validate(mapper.apply(a), locale, constraintContext);
}

default Validated<X> validate(T t) {
default Validated<X> validate(@Nullable T t) {
return this.validate(t, Locale.getDefault(), ConstraintGroup.DEFAULT);
}

default Validated<X> validate(T t, ConstraintContext constraintContext) {
default Validated<X> validate(@Nullable T t, ConstraintContext constraintContext) {
return this.validate(t, Locale.getDefault(), constraintContext);
}

default Validated<X> validate(T t, Locale locale) {
default Validated<X> validate(@Nullable T t, Locale locale) {
return this.validate(t, locale, ConstraintGroup.DEFAULT);
}

default X validated(T t) throws ConstraintViolationsException {
default X validated(@Nullable T t) throws ConstraintViolationsException {
return this.validate(t).orElseThrow(ConstraintViolationsException::new);
}

default X validated(T t, ConstraintContext constraintContext)
default X validated(@Nullable T t, ConstraintContext constraintContext)
throws ConstraintViolationsException {
return this.validate(t, constraintContext)
.orElseThrow(ConstraintViolationsException::new);
}

default X validated(T t, Locale locale) throws ConstraintViolationsException {
default X validated(@Nullable T t, Locale locale)
throws ConstraintViolationsException {
return this.validate(t, locale).orElseThrow(ConstraintViolationsException::new);
}

default X validated(T t, Locale locale, ConstraintContext constraintContext)
default X validated(@Nullable T t, Locale locale, ConstraintContext constraintContext)
throws ConstraintViolationsException {
return this.validate(t, locale, constraintContext)
.orElseThrow(ConstraintViolationsException::new);
Expand Down

0 comments on commit 4e45f04

Please sign in to comment.