Package cn.dinodev.spring.commons.utils
Class Assert
java.lang.Object
cn.dinodev.spring.commons.utils.Assert
- Author:
- Cody Lu
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voiddoesNotContain(String textToSearch, String substring, Status status) 断言给定的文本不包含给定的子字符串。static voiddoesNotContain(String textToSearch, String substring, String message) 断言给定的文本不包含给定的子字符串。static voiddoesNotContain(String textToSearch, String substring, Supplier<Status> statusSupplier) 断言给定的文本不包含给定的子字符串。static voidhasLength(CharSequence text, Status status) 断言给定的字符串不为空;即,它不能为null且不能是空字符串。static voidhasLength(CharSequence text, String message) 断言给定的字符串不为空;即,它不能为null且不能是空字符串。static voidhasLength(CharSequence text, Supplier<Status> statusSupplier) 断言给定的字符串不为空;即,它不能为null且不能是空字符串。static voidhasText(CharSequence text, Status status) 断言给定的字符串包含有效的文本内容;即,它不能为null并且必须包含至少一个非空白字符。static voidhasText(CharSequence text, String message) 断言给定的字符串包含有效的文本内容;即,它不能为null并且必须包含至少一个非空白字符。static voidhasText(CharSequence text, Supplier<Status> statusSupplier) 断言给定的字符串包含有效的文本内容;即,它不能为null并且必须包含至少一个非空白字符。static voidisAssignable(Class<?> superType, Class<?> subType, Status status) 断言superType.isAssignableFrom(subType)为true。static voidisAssignable(Class<?> superType, Class<?> subType, String message) 断言superType.isAssignableFrom(subType)为true。static voidisAssignable(Class<?> superType, Class<?> subType, Supplier<Status> statusSupplier) 断言superType.isAssignableFrom(subType)为true。static voidisInstanceOf(Class<?> type, Object obj, Status status) 断言提供的对象是提供的类的实例。static voidisInstanceOf(Class<?> type, Object obj, String message) 断言提供的对象是提供的类的实例。static voidisInstanceOf(Class<?> type, Object obj, Supplier<Status> statusSupplier) 断言提供的对象是提供的类的实例。static void断言对象为null。static void断言对象为null。static void断言对象为null。static void断言一个布尔表达式,如果表达式为false,则抛出BusinessException。static void断言一个布尔表达式,如果表达式为false,则抛出BusinessException。static void断言一个布尔表达式,如果表达式为false,则抛出BusinessException。static voidnoNullElements(Object[] array, Status status) 断言数组不包含null元素。static voidnoNullElements(Object[] array, String message) 断言数组不包含null元素。static voidnoNullElements(Object[] array, Supplier<Status> statusSupplier) 断言数组不包含null元素。static voidnoNullElements(Collection<?> collection, Status status) 断言集合不包含null元素。static voidnoNullElements(Collection<?> collection, String message) 断言集合不包含null元素。static voidnoNullElements(Collection<?> collection, String message, Object... msgArgs) 断言集合不包含null元素。static voidnoNullElements(Collection<?> collection, Supplier<Status> statusSupplier) 断言集合不包含null元素。static void断言数组包含元素;即,它不能为null并且必须包含至少一个元素。static void断言数组包含元素;即,它不能为null并且必须包含至少一个元素。static void断言数组包含元素;即,它不能为null并且必须包含至少一个元素。static voidnotEmpty(Collection<?> collection, Status status) 断言集合包含元素;即,它不能为null并且必须包含至少一个元素。static voidnotEmpty(Collection<?> collection, String message) 断言集合包含元素;即,它不能为null并且必须包含至少一个元素。static voidnotEmpty(Collection<?> collection, Supplier<Status> statusSupplier) 断言集合包含元素;即,它不能为null并且必须包含至少一个元素。static void断言 Map 包含条目;即,它不能为null并且必须包含至少一个条目。static void断言 Map 包含条目;即,它不能为null并且必须包含至少一个条目。static void断言 Map 包含条目,并允许传递格式化消息参数。static void断言 Map 包含条目;即,它不能为null并且必须包含至少一个条目。static void断言对象不为null。static void断言对象不为null,并允许传递格式化消息参数。static void断言对象不为null。static void断言一个布尔表达式,如果表达式为false,则抛出IllegalStateException。static void断言一个布尔表达式,如果表达式为false,则抛出IllegalStateException。
-
Constructor Details
-
Assert
public Assert()
-
-
Method Details
-
state
断言一个布尔表达式,如果表达式为false,则抛出IllegalStateException。如果希望在断言失败时抛出
IllegalArgumentException,请调用isTrue(boolean, java.lang.String)。Assert.state(id == null, "The id property must not already be initialized");
- Parameters:
expression- 布尔表达式message- 断言失败时使用的异常消息模式。模式与 SLF4J 相同args- 要替换格式锚点的参数- Throws:
IllegalStateException- 如果expression为false
-
state
断言一个布尔表达式,如果表达式为false,则抛出IllegalStateException。如果希望在断言失败时抛出
IllegalArgumentException,请调用isTrue(boolean, java.lang.String)。Assert.state(entity.getId() == null, () -> "ID for entity " + entity.getName() + " must not already be initialized");- Parameters:
expression- 布尔表达式messageSupplier- 断言失败时使用的异常消息供应者- Throws:
IllegalStateException- 如果expression为false
-
isTrue
断言一个布尔表达式,如果表达式为false,则抛出BusinessException。Assert.isTrue(i > 0, "The value must be greater than zero");
- Parameters:
expression- 布尔表达式message- 断言失败时使用的异常消息- Throws:
BusinessException- 如果expression为false
-
isTrue
断言一个布尔表达式,如果表达式为false,则抛出BusinessException。Assert.isTrue(i > 0, "The value must be greater than zero");
- Parameters:
expression- 布尔表达式status- 断言失败时使用的异常状态- Throws:
BusinessException- 如果expression为false
-
isTrue
断言一个布尔表达式,如果表达式为false,则抛出BusinessException。Assert.isTrue(i > 0, () -> "The value '" + i + "' must be greater than zero");
- Parameters:
expression- 布尔表达式statusSupplier- 断言失败时使用的异常状态供应者- Throws:
BusinessException- 如果expression为false
-
isNull
断言对象为null。Assert.isNull(value, "值必须为 null");
- Parameters:
object- 要检查的对象message- 断言失败时使用的异常消息- Throws:
BusinessException- 如果对象不为null
-
isNull
断言对象为null。Assert.isNull(value, "值必须为 null");
- Parameters:
object- 要检查的对象status- 断言失败时使用的异常状态- Throws:
BusinessException- 如果对象不为null
-
isNull
断言对象为null。Assert.isNull(value, () -> "值 '" + value + "' 必须为 null");
- Parameters:
object- 要检查的对象statusSupplier- 断言失败时使用的异常状态供应者- Throws:
BusinessException- 如果对象不为null
-
notNull
断言对象不为null,并允许传递格式化消息参数。Assert.notNull(value, "值 '{}' 不能为空", value);- Parameters:
object- 要检查的对象message- 断言失败时使用的异常消息msgArgs- 要替换格式锚点的参数- Throws:
BusinessException- 如果对象为null
-
notNull
断言对象不为null。Assert.notNull(clazz, "类不能为空");
- Parameters:
object- 要检查的对象status- 断言失败时使用的异常状态- Throws:
BusinessException- 如果对象为null
-
notNull
断言对象不为null。Assert.notNull(entity.getId(), () -> "实体 " + entity.getName() + " 的 ID 不能为空");- Parameters:
object- 要检查的对象statusSupplier- 断言失败时使用的异常状态供应者- Throws:
BusinessException- 如果对象为null
-
hasLength
断言给定的字符串不为空;即,它不能为null且不能是空字符串。Assert.hasLength(name, "名称不能为空");
- Parameters:
text- 要检查的字符串message- 断言失败时使用的异常消息- Throws:
BusinessException- 如果字符串为空- See Also:
-
StringUtils#hasLength
-
hasLength
断言给定的字符串不为空;即,它不能为null且不能是空字符串。Assert.hasLength(name, "名称不能为空");
- Parameters:
text- 要检查的字符串status- 断言失败时使用的异常状态- Throws:
BusinessException- 如果字符串为空- See Also:
-
StringUtils#hasLength
-
hasLength
断言给定的字符串不为空;即,它不能为null且不能是空字符串。Assert.hasLength(account.getName(), () -> "账户 '" + account.getId() + "' 的名称不能为空");- Parameters:
text- 要检查的字符串statusSupplier- 断言失败时使用的异常状态供应者- Throws:
BusinessException- 如果字符串为空- See Also:
-
StringUtils#hasLength
-
hasText
断言给定的字符串包含有效的文本内容;即,它不能为null并且必须包含至少一个非空白字符。Assert.hasText(name, "'name' 不能为空");
- Parameters:
text- 要检查的字符串message- 断言失败时使用的异常消息- Throws:
BusinessException- 如果字符串不包含有效的文本内容- See Also:
-
StringUtils#hasText
-
hasText
断言给定的字符串包含有效的文本内容;即,它不能为null并且必须包含至少一个非空白字符。Assert.hasText(name, "'name' 不能为空");
- Parameters:
text- 要检查的字符串status- 断言失败时使用的异常状态- Throws:
BusinessException- 如果字符串不包含有效的文本内容- See Also:
-
StringUtils#hasText
-
hasText
断言给定的字符串包含有效的文本内容;即,它不能为null并且必须包含至少一个非空白字符。Assert.hasText(account.getName(), () -> "账户 '" + account.getId() + "' 的名称不能为空");- Parameters:
text- 要检查的字符串statusSupplier- 断言失败时使用的异常状态供应者- Throws:
BusinessException- 如果字符串不包含有效的文本内容- See Also:
-
StringUtils#hasText
-
doesNotContain
断言给定的文本不包含给定的子字符串。Assert.doesNotContain(name, "rod", "名称不能包含 'rod'");
- Parameters:
textToSearch- 要搜索的文本substring- 要在文本中查找的子字符串message- 断言失败时使用的异常消息- Throws:
BusinessException- 如果文本包含子字符串
-
doesNotContain
断言给定的文本不包含给定的子字符串。Assert.doesNotContain(name, "rod", "名称不能包含 'rod'");
- Parameters:
textToSearch- 要搜索的文本substring- 要在文本中查找的子字符串status- 断言失败时使用的异常状态- Throws:
BusinessException- 如果文本包含子字符串
-
doesNotContain
public static void doesNotContain(@Nullable String textToSearch, @Nonnull String substring, @Nonnull Supplier<Status> statusSupplier) 断言给定的文本不包含给定的子字符串。Assert.doesNotContain(name, forbidden, () -> "名称不能包含 '" + forbidden + "'");
- Parameters:
textToSearch- 要搜索的文本substring- 要在文本中查找的子字符串statusSupplier- 断言失败时使用的异常状态供应者- Throws:
BusinessException- 如果文本包含子字符串
-
notEmpty
断言数组包含元素;即,它不能为null并且必须包含至少一个元素。Assert.notEmpty(array, "数组必须包含元素");
- Parameters:
array- 要检查的数组message- 断言失败时使用的异常消息- Throws:
BusinessException- 如果对象数组为null或不包含任何元素
-
notEmpty
断言数组包含元素;即,它不能为null并且必须包含至少一个元素。Assert.notEmpty(array, "数组必须包含元素");
- Parameters:
array- 要检查��数组status- 断言失败时使用的异常状态- Throws:
BusinessException- 如果对象数组为null或不包含任何元素
-
notEmpty
断言数组包含元素;即,它不能为null并且必须包含至少一个元素。Assert.notEmpty(array, () -> "数组 " + arrayType + " 必须包含元素");
- Parameters:
array- 要检查的数组statusSupplier- 断言失败时使用的异常状态供应者- Throws:
BusinessException- 如果对象数组为null或不包含任何元素
-
noNullElements
断言数组不包含null元素。注意:如果数组为空,不会抛出异常!
Assert.noNullElements(array, "数组必须包含非 null 元素");
- Parameters:
array- 要检查的数组message- 断言失败时使用的异常消息- Throws:
BusinessException- 如果对象数组包含null元素
-
noNullElements
断言数组不包含null元素。注意:如果数组为空,不会抛出异常!
Assert.noNullElements(array, "数组必须包含非 null 元素");
- Parameters:
array- 要检查的数组status- 断言失败时使用的异常状态- Throws:
BusinessException- 如果对象数组包含null元素
-
noNullElements
public static void noNullElements(@Nullable Object[] array, @Nonnull Supplier<Status> statusSupplier) 断言数组不包含null元素。注意:如果数组为空,不会抛出异常!
Assert.noNullElements(array, () -> "数组 " + arrayType + " 必须包含非 null 元素");
- Parameters:
array- 要检查的数组statusSupplier- 断言失败时使用的异常状态供应者- Throws:
BusinessException- 如果对象数组包含null元素
-
notEmpty
断言集合包含元素;即,它不能为null并且必须包含至少一个元素。Assert.notEmpty(collection, "集合必须包含元素");
- Parameters:
collection- 要检查的集合message- 断言失败时使用的异常消息- Throws:
BusinessException- 如果集合为null或不包含任何元素
-
notEmpty
断言集合包含元素;即,它不能为null并且必须包含至少一个元素。Assert.notEmpty(collection, "集合必须包含元素");
- Parameters:
collection- 要检查的集合status- 断言失败时使用的异常状态- Throws:
BusinessException- 如果集合为null或不包含任何元素
-
notEmpty
public static void notEmpty(@Nullable Collection<?> collection, @Nonnull Supplier<Status> statusSupplier) 断言集合包含元素;即,它不能为null并且必须包含至少一个元素。Assert.notEmpty(collection, () -> "集合 " + collectionType + " 必须包含元素");
- Parameters:
collection- 要检查的集合statusSupplier- 断言失败时使用的异常状态供应者- Throws:
BusinessException- 如果集合为null或不包含任何元素
-
noNullElements
断言集合不包含null元素。注意:如果集合为空,不会抛出异常!
Assert.noNullElements(collection, "集合必须包含非 null 元素");
- Parameters:
collection- 要检查的集合message- 断言失败时使用的异常消息- Throws:
BusinessException- 如果集合包含null元素
-
noNullElements
public static void noNullElements(@Nullable Collection<?> collection, String message, Object... msgArgs) 断言集合不包含null元素。Assert.noNullElements(collection, "集合 '{}' 必须包含非 null 元素", collectionName);- Parameters:
collection- 要检查的集合message- 断言失败时使用的异常消息msgArgs- 要替换格式锚点的参数- Throws:
BusinessException- 如果集合包含null元素
-
noNullElements
断言集合不包含null元素。注意:如果集合为空,不会抛出异常!
Assert.noNullElements(collection, "集合必须包含非 null 元素");
- Parameters:
collection- 要检查的集合status- 断言失败时使用的异常状态- Throws:
BusinessException- 如果集合包含null元素
-
noNullElements
public static void noNullElements(@Nullable Collection<?> collection, @Nonnull Supplier<Status> statusSupplier) 断言集合不包含null元素。注意:如果集合为空,不会抛出异常!
Assert.noNullElements(collection, () -> "集合 " + collectionName + " 必须包含非 null 元素");
- Parameters:
collection- 要检查的集合statusSupplier- 断言失败时使用的异常状态供应者- Throws:
BusinessException- 如果集合包含null元素
-
notEmpty
断言 Map 包含条目;即,它不能为null并且必须包含至少一个条目。Assert.notEmpty(map, "Map 必须包含条目");
- Parameters:
map- 要检查的 Mapmessage- 断言失败时使用的异常消息- Throws:
BusinessException- 如果 Map 为null或不包含任何条目
-
notEmpty
断言 Map 包含条目,并允许传递格式化消息参数。Assert.notEmpty(map, "Map '{}' 必须包含条目", mapName);- Parameters:
map- 要检查的 Mapmessage- 断言失败时使用的异常消息msgArgs- 要替换格式锚点的参数- Throws:
BusinessException- 如果 Map 为null或不包含任何条目
-
notEmpty
断言 Map 包含条目;即,它不能为null并且必须包含至少一个条目。Assert.notEmpty(map, "Map 必须包含条目");
- Parameters:
map- 要检查的 Mapstatus- 断言失败时使用的异常状态- Throws:
BusinessException- 如果 Map 为null或不包含任何条目
-
notEmpty
断言 Map 包含条目;即,它不能为null并且必须包含至少一个条目。Assert.notEmpty(map, () -> "Map " + mapType + " 必须包含条目");
- Parameters:
map- 要检查的 MapstatusSupplier- 断言失败时使用的异常状态供应者- Throws:
BusinessException- 如果 Map 为null或不包含任何条目
-
isInstanceOf
断言提供的对象是提供的类的实例。Assert.isInstanceOf(Foo.class, foo, "期望是 Foo 类的实例");
- Parameters:
type- 要检查的类型obj- 要检查的对象message- 断言失败时使用的异常消息- Throws:
BusinessException- 如果对象不是该类型的实例
-
isInstanceOf
断言提供的对象是提供的类的实例。Assert.isInstanceOf(Foo.class, foo, "期望是 Foo 类的实例");
- Parameters:
type- 要检查的类型obj- 要检查的对象status- 断言失败时使用的异常状态- Throws:
BusinessException- 如果对象不是该类型的实例
-
isInstanceOf
public static void isInstanceOf(@Nonnull Class<?> type, @Nullable Object obj, @Nonnull Supplier<Status> statusSupplier) 断言提供的对象是提供的类的实例。Assert.isInstanceOf(Foo.class, foo, () -> "处理 " + Foo.class.getSimpleName() + ":");
- Parameters:
type- 要检查的类型obj- 要检查的对象statusSupplier- 断言失败时使用的异常状态供应者- Throws:
BusinessException- 如果对象不是该类型的实例
-
isAssignable
public static void isAssignable(@Nonnull Class<?> superType, @Nullable Class<?> subType, String message) 断言superType.isAssignableFrom(subType)为true。Assert.isAssignable(Number.class, myClass, "期望是 Number 类的子类");
- Parameters:
superType- 要检查的超类subType- 要检查的子类message- 断言失败时使用的异常消息- Throws:
BusinessException- 如果类不可赋值
-
isAssignable
public static void isAssignable(@Nonnull Class<?> superType, @Nullable Class<?> subType, Status status) 断言superType.isAssignableFrom(subType)为true。Assert.isAssignable(Number.class, myClass, "期望是 Number 类的子类");
- Parameters:
superType- 要检查的超类subType- 要检查的子类status- 断言失败时使用的异常状态- Throws:
BusinessException- 如果类不可赋值
-
isAssignable
public static void isAssignable(@Nonnull Class<?> superType, @Nullable Class<?> subType, @Nonnull Supplier<Status> statusSupplier) 断言superType.isAssignableFrom(subType)为true。Assert.isAssignable(Number.class, myClass, () -> "处理 " + myAttributeName + ":");
- Parameters:
superType- 要检查的超类subType- 要检查的子类statusSupplier- 断言失败时使用的异常状态供应者- Throws:
BusinessException- 如果类不可赋值
-