org.junit.jupiter
junit-jupiter
diff --git a/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/BasePropertyValidator.java b/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/BasePropertyValidator.java
index 15ad45c..e6860e8 100644
--- a/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/BasePropertyValidator.java
+++ b/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/BasePropertyValidator.java
@@ -24,6 +24,8 @@ import java.util.function.Function;
import java.util.function.Predicate;
import java.util.function.Supplier;
+import org.jspecify.annotations.Nullable;
+
/**
* 属性校验器。包含针对属性的校验规则。
*
@@ -135,9 +137,9 @@ public abstract class BasePropertyValidator<
/**
* 校验属性
*
- * @param obj 属性所在的对象
+ * @param obj 属性所在的对象,允许为 {@code null}
*/
- public final void validate(T obj) {
+ public final void validate(@Nullable T obj) {
for (Consumer super TProperty> consumer : consumers) {
consumer.accept(getter.apply(obj));
}
diff --git a/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/BaseValidator.java b/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/BaseValidator.java
index 13887ee..9917a5c 100644
--- a/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/BaseValidator.java
+++ b/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/BaseValidator.java
@@ -28,6 +28,8 @@ import java.util.function.Supplier;
import xyz.zhouxy.plusone.validator.function.*;
+import org.jspecify.annotations.Nullable;
+
/**
* 校验器基类
*
@@ -311,7 +313,7 @@ public abstract class BaseValidator implements IValidator {
/** {@inheritDoc} */
@Override
- public void validate(T obj) {
+ public void validate(@Nullable T obj) {
this.rules.forEach(rule -> rule.accept(obj));
}
}
diff --git a/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/IValidator.java b/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/IValidator.java
index 5de6d64..7f22c3a 100644
--- a/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/IValidator.java
+++ b/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/IValidator.java
@@ -15,6 +15,8 @@
*/
package xyz.zhouxy.plusone.validator;
+import org.jspecify.annotations.Nullable;
+
/**
* 校验器
*
@@ -30,7 +32,7 @@ public interface IValidator {
/**
* 校验指定对象是否符合预定义规则
*
- * @param obj 待校验的对象实例
+ * @param obj 待校验的对象实例,允许为 {@code null}
*/
- void validate(T obj);
+ void validate(@Nullable T obj);
}
diff --git a/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/MapValidator.java b/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/MapValidator.java
index 50a22d6..ebd5d8c 100644
--- a/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/MapValidator.java
+++ b/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/MapValidator.java
@@ -23,6 +23,8 @@ import java.util.Set;
import java.util.function.Function;
import java.util.stream.Collectors;
+import org.jspecify.annotations.Nullable;
+
/**
* 对 Map 进行校验的校验器
*
@@ -59,10 +61,10 @@ public abstract class MapValidator extends BaseValidator