类 Assert

java.lang.Object
cn.dinodev.spring.commons.utils.Assert

public class Assert extends Object
作者:
Cody Lu
  • 构造器概要

    构造器
    构造器
    说明
     
  • 方法概要

    修饰符和类型
    方法
    说明
    static void
    doesNotContain(String textToSearch, String substring, Status status)
    断言给定的文本不包含给定的子字符串。
    static void
    doesNotContain(String textToSearch, String substring, String message)
    断言给定的文本不包含给定的子字符串。
    static void
    doesNotContain(String textToSearch, String substring, Supplier<Status> statusSupplier)
    断言给定的文本不包含给定的子字符串。
    static void
    hasLength(CharSequence text, Status status)
    断言给定的字符串不为空;即,它不能为 null 且不能是空字符串。
    static void
    hasLength(CharSequence text, String message)
    断言给定的字符串不为空;即,它不能为 null 且不能是空字符串。
    static void
    hasLength(CharSequence text, Supplier<Status> statusSupplier)
    断言给定的字符串不为空;即,它不能为 null 且不能是空字符串。
    static void
    hasText(CharSequence text, Status status)
    断言给定的字符串包含有效的文本内容;即,它不能为 null 并且必须包含至少一个非空白字符。
    static void
    hasText(CharSequence text, String message)
    断言给定的字符串包含有效的文本内容;即,它不能为 null 并且必须包含至少一个非空白字符。
    static void
    hasText(CharSequence text, Supplier<Status> statusSupplier)
    断言给定的字符串包含有效的文本内容;即,它不能为 null 并且必须包含至少一个非空白字符。
    static void
    isAssignable(Class<?> superType, Class<?> subType, Status status)
    断言 superType.isAssignableFrom(subType)true
    static void
    isAssignable(Class<?> superType, Class<?> subType, String message)
    断言 superType.isAssignableFrom(subType)true
    static void
    isAssignable(Class<?> superType, Class<?> subType, Supplier<Status> statusSupplier)
    断言 superType.isAssignableFrom(subType)true
    static void
    isInstanceOf(Class<?> type, Object obj, Status status)
    断言提供的对象是提供的类的实例。
    static void
    isInstanceOf(Class<?> type, Object obj, String message)
    断言提供的对象是提供的类的实例。
    static void
    isInstanceOf(Class<?> type, Object obj, Supplier<Status> statusSupplier)
    断言提供的对象是提供的类的实例。
    static void
    isNull(Object object, Status status)
    断言对象为 null
    static void
    isNull(Object object, String message)
    断言对象为 null
    static void
    isNull(Object object, Supplier<Status> statusSupplier)
    断言对象为 null
    static void
    isTrue(boolean expression, Status status)
    断言一个布尔表达式,如果表达式为 false,则抛出 BusinessException
    static void
    isTrue(boolean expression, String message)
    断言一个布尔表达式,如果表达式为 false,则抛出 BusinessException
    static void
    isTrue(boolean expression, Supplier<Status> statusSupplier)
    断言一个布尔表达式,如果表达式为 false,则抛出 BusinessException
    static void
    noNullElements(Object[] array, Status status)
    断言数组不包含 null 元素。
    static void
    noNullElements(Object[] array, String message)
    断言数组不包含 null 元素。
    static void
    noNullElements(Object[] array, Supplier<Status> statusSupplier)
    断言数组不包含 null 元素。
    static void
    noNullElements(Collection<?> collection, Status status)
    断言集合不包含 null 元素。
    static void
    noNullElements(Collection<?> collection, String message)
    断言集合不包含 null 元素。
    static void
    noNullElements(Collection<?> collection, String message, Object... msgArgs)
    断言集合不包含 null 元素。
    static void
    noNullElements(Collection<?> collection, Supplier<Status> statusSupplier)
    断言集合不包含 null 元素。
    static void
    notEmpty(Object[] array, Status status)
    断言数组包含元素;即,它不能为 null 并且必须包含至少一个元素。
    static void
    notEmpty(Object[] array, String message)
    断言数组包含元素;即,它不能为 null 并且必须包含至少一个元素。
    static void
    notEmpty(Object[] array, Supplier<Status> statusSupplier)
    断言数组包含元素;即,它不能为 null 并且必须包含至少一个元素。
    static void
    notEmpty(Collection<?> collection, Status status)
    断言集合包含元素;即,它不能为 null 并且必须包含至少一个元素。
    static void
    notEmpty(Collection<?> collection, String message)
    断言集合包含元素;即,它不能为 null 并且必须包含至少一个元素。
    static void
    notEmpty(Collection<?> collection, Supplier<Status> statusSupplier)
    断言集合包含元素;即,它不能为 null 并且必须包含至少一个元素。
    static void
    notEmpty(Map<?,?> map, Status status)
    断言 Map 包含条目;即,它不能为 null 并且必须包含至少一个条目。
    static void
    notEmpty(Map<?,?> map, String message)
    断言 Map 包含条目;即,它不能为 null 并且必须包含至少一个条目。
    static void
    notEmpty(Map<?,?> map, String message, Object... msgArgs)
    断言 Map 包含条目,并允许传递格式化消息参数。
    static void
    notEmpty(Map<?,?> map, Supplier<Status> statusSupplier)
    断言 Map 包含条目;即,它不能为 null 并且必须包含至少一个条目。
    static void
    notNull(Object object, Status status)
    断言对象不为 null
    static void
    notNull(Object object, String message, Object... msgArgs)
    断言对象不为 null,并允许传递格式化消息参数。
    static void
    notNull(Object object, Supplier<Status> statusSupplier)
    断言对象不为 null
    static void
    state(boolean expression, String message, Object... args)
    断言一个布尔表达式,如果表达式为 false,则抛出 IllegalStateException
    static void
    state(boolean expression, Supplier<String> messageSupplier)
    断言一个布尔表达式,如果表达式为 false,则抛出 IllegalStateException

    从类继承的方法 java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 构造器详细资料

    • Assert

      public Assert()
  • 方法详细资料

    • state

      public static void state(boolean expression, String message, Object... args)
      断言一个布尔表达式,如果表达式为 false,则抛出 IllegalStateException

      如果希望在断言失败时抛出 IllegalArgumentException,请调用 isTrue(boolean, java.lang.String)

      Assert.state(id == null, "The id property must not already be initialized");
      参数:
      expression - 布尔表达式
      message - 断言失败时使用的异常消息模式。模式与 SLF4J 相同
      args - 要替换格式锚点的参数
      抛出:
      IllegalStateException - 如果 expressionfalse
    • state

      public static void state(boolean expression, Supplier<String> messageSupplier)
      断言一个布尔表达式,如果表达式为 false,则抛出 IllegalStateException

      如果希望在断言失败时抛出 IllegalArgumentException,请调用 isTrue(boolean, java.lang.String)

       Assert.state(entity.getId() == null,
           () -> "ID for entity " + entity.getName() + " must not already be initialized");
       
      参数:
      expression - 布尔表达式
      messageSupplier - 断言失败时使用的异常消息供应者
      抛出:
      IllegalStateException - 如果 expressionfalse
    • isTrue

      public static void isTrue(boolean expression, String message)
      断言一个布尔表达式,如果表达式为 false,则抛出 BusinessException
      Assert.isTrue(i > 0, "The value must be greater than zero");
      参数:
      expression - 布尔表达式
      message - 断言失败时使用的异常消息
      抛出:
      BusinessException - 如果 expressionfalse
    • isTrue

      public static void isTrue(boolean expression, Status status)
      断言一个布尔表达式,如果表达式为 false,则抛出 BusinessException
      Assert.isTrue(i > 0, "The value must be greater than zero");
      参数:
      expression - 布尔表达式
      status - 断言失败时使用的异常状态
      抛出:
      BusinessException - 如果 expressionfalse
    • isTrue

      public static void isTrue(boolean expression, @Nonnull Supplier<Status> statusSupplier)
      断言一个布尔表达式,如果表达式为 false,则抛出 BusinessException
       Assert.isTrue(i > 0, () -> "The value '" + i + "' must be greater than zero");
       
      参数:
      expression - 布尔表达式
      statusSupplier - 断言失败时使用的异常状态供应者
      抛出:
      BusinessException - 如果 expressionfalse
    • isNull

      public static void isNull(@Nullable Object object, String message)
      断言对象为 null
      Assert.isNull(value, "值必须为 null");
      参数:
      object - 要检查的对象
      message - 断言失败时使用的异常消息
      抛出:
      BusinessException - 如果对象不为 null
    • isNull

      public static void isNull(@Nullable Object object, Status status)
      断言对象为 null
      Assert.isNull(value, "值必须为 null");
      参数:
      object - 要检查的对象
      status - 断言失败时使用的异常状态
      抛出:
      BusinessException - 如果对象不为 null
    • isNull

      public static void isNull(@Nullable Object object, @Nonnull Supplier<Status> statusSupplier)
      断言对象为 null
       Assert.isNull(value, () -> "值 '" + value + "' 必须为 null");
       
      参数:
      object - 要检查的对象
      statusSupplier - 断言失败时使用的异常状态供应者
      抛出:
      BusinessException - 如果对象不为 null
    • notNull

      public static void notNull(@Nullable Object object, String message, Object... msgArgs)
      断言对象不为 null,并允许传递格式化消息参数。
      Assert.notNull(value, "值 '{}' 不能为空", value);
      参数:
      object - 要检查的对象
      message - 断言失败时使用的异常消息
      msgArgs - 要替换格式锚点的参数
      抛出:
      BusinessException - 如果对象为 null
    • notNull

      public static void notNull(@Nullable Object object, Status status)
      断言对象不为 null
      Assert.notNull(clazz, "类不能为空");
      参数:
      object - 要检查的对象
      status - 断言失败时使用的异常状态
      抛出:
      BusinessException - 如果对象为 null
    • notNull

      public static void notNull(@Nullable Object object, @Nonnull Supplier<Status> statusSupplier)
      断言对象不为 null
       Assert.notNull(entity.getId(),
           () -> "实体 " + entity.getName() + " 的 ID 不能为空");
       
      参数:
      object - 要检查的对象
      statusSupplier - 断言失败时使用的异常状态供应者
      抛出:
      BusinessException - 如果对象为 null
    • hasLength

      public static void hasLength(@Nullable CharSequence text, String message)
      断言给定的字符串不为空;即,它不能为 null 且不能是空字符串。
      Assert.hasLength(name, "名称不能为空");
      参数:
      text - 要检查的字符串
      message - 断言失败时使用的异常消息
      抛出:
      BusinessException - 如果字符串为空
      另请参阅:
      • StringUtils#hasLength
    • hasLength

      public static void hasLength(@Nullable CharSequence text, Status status)
      断言给定的字符串不为空;即,它不能为 null 且不能是空字符串。
      Assert.hasLength(name, "名称不能为空");
      参数:
      text - 要检查的字符串
      status - 断言失败时使用的异常状态
      抛出:
      BusinessException - 如果字符串为空
      另请参阅:
      • StringUtils#hasLength
    • hasLength

      public static void hasLength(@Nullable CharSequence text, @Nonnull Supplier<Status> statusSupplier)
      断言给定的字符串不为空;即,它不能为 null 且不能是空字符串。
       Assert.hasLength(account.getName(),
           () -> "账户 '" + account.getId() + "' 的名称不能为空");
       
      参数:
      text - 要检查的字符串
      statusSupplier - 断言失败时使用的异常状态供应者
      抛出:
      BusinessException - 如果字符串为空
      另请参阅:
      • StringUtils#hasLength
    • hasText

      public static void hasText(@Nullable CharSequence text, String message)
      断言给定的字符串包含有效的文本内容;即,它不能为 null 并且必须包含至少一个非空白字符。
      Assert.hasText(name, "'name' 不能为空");
      参数:
      text - 要检查的字符串
      message - 断言失败时使用的异常消息
      抛出:
      BusinessException - 如果字符串不包含有效的文本内容
      另请参阅:
      • StringUtils#hasText
    • hasText

      public static void hasText(@Nullable CharSequence text, Status status)
      断言给定的字符串包含有效的文本内容;即,它不能为 null 并且必须包含至少一个非空白字符。
      Assert.hasText(name, "'name' 不能为空");
      参数:
      text - 要检查的字符串
      status - 断言失败时使用的异常状态
      抛出:
      BusinessException - 如果字符串不包含有效的文本内容
      另请参阅:
      • StringUtils#hasText
    • hasText

      public static void hasText(@Nullable CharSequence text, @Nonnull Supplier<Status> statusSupplier)
      断言给定的字符串包含有效的文本内容;即,它不能为 null 并且必须包含至少一个非空白字符。
       Assert.hasText(account.getName(),
           () -> "账户 '" + account.getId() + "' 的名称不能为空");
       
      参数:
      text - 要检查的字符串
      statusSupplier - 断言失败时使用的异常状态供应者
      抛出:
      BusinessException - 如果字符串不包含有效的文本内容
      另请参阅:
      • StringUtils#hasText
    • doesNotContain

      public static void doesNotContain(@Nullable String textToSearch, String substring, String message)
      断言给定的文本不包含给定的子字符串。
      Assert.doesNotContain(name, "rod", "名称不能包含 'rod'");
      参数:
      textToSearch - 要搜索的文本
      substring - 要在文本中查找的子字符串
      message - 断言失败时使用的异常消息
      抛出:
      BusinessException - 如果文本包含子字符串
    • doesNotContain

      public static void doesNotContain(@Nullable String textToSearch, String substring, Status status)
      断言给定的文本不包含给定的子字符串。
      Assert.doesNotContain(name, "rod", "名称不能包含 'rod'");
      参数:
      textToSearch - 要搜索的文本
      substring - 要在文本中查找的子字符串
      status - 断言失败时使用的异常状态
      抛出:
      BusinessException - 如果文本包含子字符串
    • doesNotContain

      public static void doesNotContain(@Nullable String textToSearch, @Nonnull String substring, @Nonnull Supplier<Status> statusSupplier)
      断言给定的文本不包含给定的子字符串。
       Assert.doesNotContain(name, forbidden, () -> "名称不能包含 '" + forbidden + "'");
       
      参数:
      textToSearch - 要搜索的文本
      substring - 要在文本中查找的子字符串
      statusSupplier - 断言失败时使用的异常状态供应者
      抛出:
      BusinessException - 如果文本包含子字符串
    • notEmpty

      public static void notEmpty(@Nullable Object[] array, String message)
      断言数组包含元素;即,它不能为 null 并且必须包含至少一个元素。
      Assert.notEmpty(array, "数组必须包含元素");
      参数:
      array - 要检查的数组
      message - 断言失败时使用的异常消息
      抛出:
      BusinessException - 如果对象数组为 null 或不包含任何元素
    • notEmpty

      public static void notEmpty(@Nullable Object[] array, Status status)
      断言数组包含元素;即,它不能为 null 并且必须包含至少一个元素。
      Assert.notEmpty(array, "数组必须包含元素");
      参数:
      array - 要检查��数组
      status - 断言失败时使用的异常状态
      抛出:
      BusinessException - 如果对象数组为 null 或不包含任何元素
    • notEmpty

      public static void notEmpty(@Nullable Object[] array, @Nonnull Supplier<Status> statusSupplier)
      断言数组包含元素;即,它不能为 null 并且必须包含至少一个元素。
       Assert.notEmpty(array, () -> "数组 " + arrayType + " 必须包含元素");
       
      参数:
      array - 要检查的数组
      statusSupplier - 断言失败时使用的异常状态供应者
      抛出:
      BusinessException - 如果对象数组为 null 或不包含任何元素
    • noNullElements

      public static void noNullElements(@Nullable Object[] array, String message)
      断言数组不包含 null 元素。

      注意:如果数组为空,不会抛出异常!

      Assert.noNullElements(array, "数组必须包含非 null 元素");
      参数:
      array - 要检查的数组
      message - 断言失败时使用的异常消息
      抛出:
      BusinessException - 如果对象数组包含 null 元素
    • noNullElements

      public static void noNullElements(@Nullable Object[] array, Status status)
      断言数组不包含 null 元素。

      注意:如果数组为空,不会抛出异常!

      Assert.noNullElements(array, "数组必须包含非 null 元素");
      参数:
      array - 要检查的数组
      status - 断言失败时使用的异常状态
      抛出:
      BusinessException - 如果对象数组包含 null 元素
    • noNullElements

      public static void noNullElements(@Nullable Object[] array, @Nonnull Supplier<Status> statusSupplier)
      断言数组不包含 null 元素。

      注意:如果数组为空,不会抛出异常!

       Assert.noNullElements(array, () -> "数组 " + arrayType + " 必须包含非 null 元素");
       
      参数:
      array - 要检查的数组
      statusSupplier - 断言失败时使用的异常状态供应者
      抛出:
      BusinessException - 如果对象数组包含 null 元素
    • notEmpty

      public static void notEmpty(@Nullable Collection<?> collection, String message)
      断言集合包含元素;即,它不能为 null 并且必须包含至少一个元素。
      Assert.notEmpty(collection, "集合必须包含元素");
      参数:
      collection - 要检查的集合
      message - 断言失败时使用的异常消息
      抛出:
      BusinessException - 如果集合为 null 或不包含任何元素
    • notEmpty

      public static void notEmpty(@Nullable Collection<?> collection, Status status)
      断言集合包含元素;即,它不能为 null 并且必须包含至少一个元素。
      Assert.notEmpty(collection, "集合必须包含元素");
      参数:
      collection - 要检查的集合
      status - 断言失败时使用的异常状态
      抛出:
      BusinessException - 如果集合为 null 或不包含任何元素
    • notEmpty

      public static void notEmpty(@Nullable Collection<?> collection, @Nonnull Supplier<Status> statusSupplier)
      断言集合包含元素;即,它不能为 null 并且必须包含至少一个元素。
       Assert.notEmpty(collection, () -> "集合 " + collectionType + " 必须包含元素");
       
      参数:
      collection - 要检查的集合
      statusSupplier - 断言失败时使用的异常状态供应者
      抛出:
      BusinessException - 如果集合为 null 或不包含任何元素
    • noNullElements

      public static void noNullElements(@Nullable Collection<?> collection, String message)
      断言集合不包含 null 元素。

      注意:如果集合为空,不会抛出异常!

      Assert.noNullElements(collection, "集合必须包含非 null 元素");
      参数:
      collection - 要检查的集合
      message - 断言失败时使用的异常消息
      抛出:
      BusinessException - 如果集合包含 null 元素
    • noNullElements

      public static void noNullElements(@Nullable Collection<?> collection, String message, Object... msgArgs)
      断言集合不包含 null 元素。
      Assert.noNullElements(collection, "集合 '{}' 必须包含非 null 元素", collectionName);
      参数:
      collection - 要检查的集合
      message - 断言失败时使用的异常消息
      msgArgs - 要替换格式锚点的参数
      抛出:
      BusinessException - 如果集合包含 null 元素
    • noNullElements

      public static void noNullElements(@Nullable Collection<?> collection, Status status)
      断言集合不包含 null 元素。

      注意:如果集合为空,不会抛出异常!

      Assert.noNullElements(collection, "集合必须包含非 null 元素");
      参数:
      collection - 要检查的集合
      status - 断言失败时使用的异常状态
      抛出:
      BusinessException - 如果集合包含 null 元素
    • noNullElements

      public static void noNullElements(@Nullable Collection<?> collection, @Nonnull Supplier<Status> statusSupplier)
      断言集合不包含 null 元素。

      注意:如果集合为空,不会抛出异常!

       Assert.noNullElements(collection, () -> "集合 " + collectionName + " 必须包含非 null 元素");
       
      参数:
      collection - 要检查的集合
      statusSupplier - 断言失败时使用的异常状态供应者
      抛出:
      BusinessException - 如果集合包含 null 元素
    • notEmpty

      public static void notEmpty(@Nullable Map<?,?> map, String message)
      断言 Map 包含条目;即,它不能为 null 并且必须包含至少一个条目。
      Assert.notEmpty(map, "Map 必须包含条目");
      参数:
      map - 要检查的 Map
      message - 断言失败时使用的异常消息
      抛出:
      BusinessException - 如果 Map 为 null 或不包含任何条目
    • notEmpty

      public static void notEmpty(@Nullable Map<?,?> map, String message, Object... msgArgs)
      断言 Map 包含条目,并允许传递格式化消息参数。
      Assert.notEmpty(map, "Map '{}' 必须包含条目", mapName);
      参数:
      map - 要检查的 Map
      message - 断言失败时使用的异常消息
      msgArgs - 要替换格式锚点的参数
      抛出:
      BusinessException - 如果 Map 为 null 或不包含任何条目
    • notEmpty

      public static void notEmpty(@Nullable Map<?,?> map, Status status)
      断言 Map 包含条目;即,它不能为 null 并且必须包含至少一个条目。
      Assert.notEmpty(map, "Map 必须包含条目");
      参数:
      map - 要检查的 Map
      status - 断言失败时使用的异常状态
      抛出:
      BusinessException - 如果 Map 为 null 或不包含任何条目
    • notEmpty

      public static void notEmpty(@Nullable Map<?,?> map, @Nonnull Supplier<Status> statusSupplier)
      断言 Map 包含条目;即,它不能为 null 并且必须包含至少一个条目。
       Assert.notEmpty(map, () -> "Map " + mapType + " 必须包含条目");
       
      参数:
      map - 要检查的 Map
      statusSupplier - 断言失败时使用的异常状态供应者
      抛出:
      BusinessException - 如果 Map 为 null 或不包含任何条目
    • isInstanceOf

      public static void isInstanceOf(@Nonnull Class<?> type, @Nullable Object obj, String message)
      断言提供的对象是提供的类的实例。
      Assert.isInstanceOf(Foo.class, foo, "期望是 Foo 类的实例");
      参数:
      type - 要检查的类型
      obj - 要检查的对象
      message - 断言失败时使用的异常消息
      抛出:
      BusinessException - 如果对象不是该类型的实例
    • isInstanceOf

      public static void isInstanceOf(@Nonnull Class<?> type, @Nullable Object obj, Status status)
      断言提供的对象是提供的类的实例。
      Assert.isInstanceOf(Foo.class, foo, "期望是 Foo 类的实例");
      参数:
      type - 要检查的类型
      obj - 要检查的对象
      status - 断言失败时使用的异常状态
      抛出:
      BusinessException - 如果对象不是该类型的实例
    • isInstanceOf

      public static void isInstanceOf(@Nonnull Class<?> type, @Nullable Object obj, @Nonnull Supplier<Status> statusSupplier)
      断言提供的对象是提供的类的实例。
       Assert.isInstanceOf(Foo.class, foo, () -> "处理 " + Foo.class.getSimpleName() + ":");
       
      参数:
      type - 要检查的类型
      obj - 要检查的对象
      statusSupplier - 断言失败时使用的异常状态供应者
      抛出:
      BusinessException - 如果对象不是该类型的实例
    • isAssignable

      public static void isAssignable(@Nonnull Class<?> superType, @Nullable Class<?> subType, String message)
      断言 superType.isAssignableFrom(subType)true
      Assert.isAssignable(Number.class, myClass, "期望是 Number 类的子类");
      参数:
      superType - 要检查的超类
      subType - 要检查的子类
      message - 断言失败时使用的异常消息
      抛出:
      BusinessException - 如果类不可赋值
    • isAssignable

      public static void isAssignable(@Nonnull Class<?> superType, @Nullable Class<?> subType, Status status)
      断言 superType.isAssignableFrom(subType)true
      Assert.isAssignable(Number.class, myClass, "期望是 Number 类的子类");
      参数:
      superType - 要检查的超类
      subType - 要检查的子类
      status - 断言失败时使用的异常状态
      抛出:
      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 + ":");
       
      参数:
      superType - 要检查的超类
      subType - 要检查的子类
      statusSupplier - 断言失败时使用的异常状态供应者
      抛出:
      BusinessException - 如果类不可赋值