diff --git a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/gson/adapter/JSR310TypeAdapters.java b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/gson/adapter/JSR310TypeAdapters.java index 68428f1..8d854c0 100644 --- a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/gson/adapter/JSR310TypeAdapters.java +++ b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/gson/adapter/JSR310TypeAdapters.java @@ -15,6 +15,8 @@ */ package xyz.zhouxy.plusone.commons.gson.adapter; +import static xyz.zhouxy.plusone.commons.util.AssertTools.checkArgumentNotNull; + import java.io.IOException; import java.time.Instant; import java.time.LocalDate; @@ -28,8 +30,6 @@ import com.google.gson.TypeAdapter; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import xyz.zhouxy.plusone.commons.util.AssertTools; - /** * 包含 JSR-310 相关数据类型的 {@code TypeAdapter} * @@ -145,7 +145,7 @@ public class JSR310TypeAdapters { protected TemporalAccessorTypeAdapter( TemporalQuery temporalQuery, DateTimeFormatter dateTimeFormatter) { - AssertTools.checkArgumentNotNull(dateTimeFormatter, "formatter must not be null."); + checkArgumentNotNull(dateTimeFormatter, "formatter must not be null."); this.temporalQuery = temporalQuery; this.dateTimeFormatter = dateTimeFormatter; } diff --git a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/model/Chinese2ndGenIDCardNumber.java b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/model/Chinese2ndGenIDCardNumber.java index e925fed..611780e 100644 --- a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/model/Chinese2ndGenIDCardNumber.java +++ b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/model/Chinese2ndGenIDCardNumber.java @@ -16,6 +16,8 @@ package xyz.zhouxy.plusone.commons.model; +import static xyz.zhouxy.plusone.commons.util.AssertTools.checkArgument; + import java.io.Serializable; import java.time.LocalDate; import java.time.format.DateTimeFormatter; @@ -32,7 +34,6 @@ import com.google.errorprone.annotations.Immutable; import xyz.zhouxy.plusone.commons.annotation.ReaderMethod; import xyz.zhouxy.plusone.commons.annotation.ValueObject; import xyz.zhouxy.plusone.commons.constant.PatternConsts; -import xyz.zhouxy.plusone.commons.util.AssertTools; import xyz.zhouxy.plusone.commons.util.StringTools; /** @@ -86,13 +87,13 @@ public class Chinese2ndGenIDCardNumber */ public static Chinese2ndGenIDCardNumber of(final String idCardNumber) { try { - AssertTools.checkArgument(StringTools.isNotBlank(idCardNumber), "二代居民身份证校验失败:号码为空"); + checkArgument(StringTools.isNotBlank(idCardNumber), "二代居民身份证校验失败:号码为空"); final String value = idCardNumber.toUpperCase(); final Matcher matcher = PatternConsts.CHINESE_2ND_ID_CARD_NUMBER.matcher(value); - AssertTools.checkArgument(matcher.matches(), () -> "二代居民身份证校验失败:" + value); + checkArgument(matcher.matches(), () -> "二代居民身份证校验失败:" + value); final String provinceCode = matcher.group("province"); - AssertTools.checkArgument(Chinese2ndGenIDCardNumber.PROVINCE_CODES.containsKey(provinceCode)); + checkArgument(Chinese2ndGenIDCardNumber.PROVINCE_CODES.containsKey(provinceCode)); final String cityCode = matcher.group("city"); final String countyCode = matcher.group("county"); diff --git a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/model/Gender.java b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/model/Gender.java index 87a1f6b..f236a9f 100644 --- a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/model/Gender.java +++ b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/model/Gender.java @@ -16,8 +16,9 @@ package xyz.zhouxy.plusone.commons.model; +import static xyz.zhouxy.plusone.commons.util.AssertTools.checkCondition; + import xyz.zhouxy.plusone.commons.base.IWithIntCode; -import xyz.zhouxy.plusone.commons.util.AssertTools; /** * 性别 @@ -50,7 +51,7 @@ public enum Gender implements IWithIntCode { * @return 枚举值 */ public static Gender of(int value) { - AssertTools.checkCondition(0 <= value && value < VALUES.length, + checkCondition(0 <= value && value < VALUES.length, () -> new EnumConstantNotPresentException(Gender.class, String.valueOf(value))); return VALUES[value]; } diff --git a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/model/ValidatableStringRecord.java b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/model/ValidatableStringRecord.java index 48aeb78..87fac4a 100644 --- a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/model/ValidatableStringRecord.java +++ b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/model/ValidatableStringRecord.java @@ -16,6 +16,8 @@ package xyz.zhouxy.plusone.commons.model; +import static xyz.zhouxy.plusone.commons.util.AssertTools.checkArgument; + import java.util.Objects; import java.util.function.Supplier; import java.util.regex.Matcher; @@ -25,7 +27,6 @@ import javax.annotation.Nonnull; import javax.annotation.Nullable; import xyz.zhouxy.plusone.commons.annotation.ReaderMethod; -import xyz.zhouxy.plusone.commons.util.AssertTools; /** * 带校验的字符串值对象 @@ -74,10 +75,10 @@ public abstract class ValidatableStringRecord sortableProperties) { - AssertTools.checkArgument(CollectionTools.isNotEmpty(sortableProperties), + checkArgument(CollectionTools.isNotEmpty(sortableProperties), "Sortable properties can not be empty."); sortableProperties.forEach((k, v) -> - AssertTools.checkArgument(StringTools.isNotBlank(k) && StringTools.isNotBlank(v), + checkArgument(StringTools.isNotBlank(k) && StringTools.isNotBlank(v), "Property name must not be blank.")); this.sortableProperties = ImmutableMap.copyOf(sortableProperties); } @@ -107,7 +108,7 @@ public class PagingAndSortingQueryParams { public final PagingParams buildPagingParams() { final int sizeValue = this.size != null ? this.size : defaultSizeInternal(); final long pageNumValue = this.pageNum != null ? this.pageNum : 1L; - AssertTools.checkArgument(CollectionTools.isNotEmpty(this.orderBy), + checkArgument(CollectionTools.isNotEmpty(this.orderBy), "The 'orderBy' cannot be empty"); final List propertiesToSort = this.orderBy.stream() .map(this::generateSortableProperty) @@ -138,13 +139,13 @@ public class PagingAndSortingQueryParams { } private SortableProperty generateSortableProperty(String orderByStr) { - AssertTools.checkArgument(StringTools.isNotBlank(orderByStr)); - AssertTools.checkArgument(RegexTools.matches(orderByStr, SORT_STR_PATTERN)); + checkArgument(StringTools.isNotBlank(orderByStr)); + checkArgument(RegexTools.matches(orderByStr, SORT_STR_PATTERN)); String[] propertyNameAndOrderType = orderByStr.split("-"); - AssertTools.checkArgument(propertyNameAndOrderType.length == 2); + checkArgument(propertyNameAndOrderType.length == 2); String propertyName = propertyNameAndOrderType[0]; - AssertTools.checkArgument(sortableProperties.containsKey(propertyName), + checkArgument(sortableProperties.containsKey(propertyName), "The property name must be in the set of sortable properties."); String columnName = sortableProperties.get(propertyName); String orderType = propertyNameAndOrderType[1]; @@ -164,7 +165,7 @@ public class PagingAndSortingQueryParams { SortableProperty(String propertyName, String columnName, String orderType) { this.propertyName = propertyName; this.columnName = columnName; - AssertTools.checkArgument("ASC".equalsIgnoreCase(orderType) || "DESC".equalsIgnoreCase(orderType)); + checkArgument("ASC".equalsIgnoreCase(orderType) || "DESC".equalsIgnoreCase(orderType)); this.orderType = orderType.toUpperCase(); this.sqlSnippet = this.propertyName + " " + this.orderType; diff --git a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/time/Quarter.java b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/time/Quarter.java index e05dcce..59b17e4 100644 --- a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/time/Quarter.java +++ b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/time/Quarter.java @@ -16,6 +16,9 @@ package xyz.zhouxy.plusone.commons.time; +import static xyz.zhouxy.plusone.commons.util.AssertTools.checkNotNull; +import static xyz.zhouxy.plusone.commons.util.AssertTools.checkCondition; + import java.time.DateTimeException; import java.time.Month; import java.time.MonthDay; @@ -25,7 +28,6 @@ import com.google.common.collect.Range; import xyz.zhouxy.plusone.commons.annotation.StaticFactoryMethod; import xyz.zhouxy.plusone.commons.base.IWithIntCode; -import xyz.zhouxy.plusone.commons.util.AssertTools; /** * 季度 @@ -89,7 +91,7 @@ public enum Quarter implements IWithIntCode { */ @StaticFactoryMethod(Quarter.class) public static Quarter fromMonth(Month month) { - AssertTools.checkNotNull(month); + checkNotNull(month); final int monthValue = month.getValue(); return of(computeQuarterValueInternal(monthValue)); } @@ -246,7 +248,7 @@ public enum Quarter implements IWithIntCode { * @throws DateTimeException 如果给定的季度值不在有效范围内(1到4),将抛出异常 */ public static int checkValidIntValue(int value) { - AssertTools.checkCondition(value >= 1 && value <= 4, + checkCondition(value >= 1 && value <= 4, () -> new DateTimeException("Invalid value for Quarter: " + value)); return value; } diff --git a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/time/YearQuarter.java b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/time/YearQuarter.java index c90523f..234e255 100644 --- a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/time/YearQuarter.java +++ b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/time/YearQuarter.java @@ -17,6 +17,7 @@ package xyz.zhouxy.plusone.commons.time; import static java.time.temporal.ChronoField.YEAR; +import static xyz.zhouxy.plusone.commons.util.AssertTools.checkNotNull; import java.io.Serializable; import java.time.LocalDate; @@ -32,7 +33,6 @@ import javax.annotation.Nullable; import com.google.errorprone.annotations.Immutable; import xyz.zhouxy.plusone.commons.annotation.StaticFactoryMethod; -import xyz.zhouxy.plusone.commons.util.AssertTools; /** * 表示年份与季度 @@ -93,7 +93,7 @@ public final class YearQuarter implements Comparable, Serializable */ @StaticFactoryMethod(YearQuarter.class) public static YearQuarter of(LocalDate date) { - AssertTools.checkNotNull(date); + checkNotNull(date); return new YearQuarter(date.getYear(), Quarter.fromMonth(date.getMonth())); } @@ -105,7 +105,7 @@ public final class YearQuarter implements Comparable, Serializable */ @StaticFactoryMethod(YearQuarter.class) public static YearQuarter of(Date date) { - AssertTools.checkNotNull(date); + checkNotNull(date); @SuppressWarnings("deprecation") final int yearValue = YEAR.checkValidIntValue(date.getYear() + 1900L); @SuppressWarnings("deprecation") @@ -121,7 +121,7 @@ public final class YearQuarter implements Comparable, Serializable */ @StaticFactoryMethod(YearQuarter.class) public static YearQuarter of(Calendar date) { - AssertTools.checkNotNull(date); + checkNotNull(date); final int yearValue = ChronoField.YEAR.checkValidIntValue(date.get(Calendar.YEAR)); final int monthValue = date.get(Calendar.MONTH) + 1; return new YearQuarter(yearValue, Quarter.fromMonth(monthValue)); @@ -135,7 +135,7 @@ public final class YearQuarter implements Comparable, Serializable */ @StaticFactoryMethod(YearQuarter.class) public static YearQuarter of(YearMonth yearMonth) { - AssertTools.checkNotNull(yearMonth); + checkNotNull(yearMonth); return of(yearMonth.getYear(), Quarter.fromMonth(yearMonth.getMonth())); } diff --git a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/ArrayTools.java b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/ArrayTools.java index 6f953a7..5bfb4bd 100644 --- a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/ArrayTools.java +++ b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/ArrayTools.java @@ -16,6 +16,9 @@ package xyz.zhouxy.plusone.commons.util; +import static xyz.zhouxy.plusone.commons.util.AssertTools.checkArgument; +import static xyz.zhouxy.plusone.commons.util.AssertTools.checkNotNull; + import java.math.BigDecimal; import java.util.ArrayList; import java.util.Arrays; @@ -258,7 +261,7 @@ public class ArrayTools { * @throws IllegalArgumentException 当参数为空时抛出 */ public static boolean isAllElementsNotNull(final T[] arr) { - AssertTools.checkArgument(arr != null, "The array cannot be null."); + checkArgument(arr != null, "The array cannot be null."); return Arrays.stream(arr).allMatch(Objects::nonNull); } @@ -488,10 +491,10 @@ public class ArrayTools { * @return 重复后的数组 */ public static char[] repeat(char[] arr, int times, int maxLength) { - AssertTools.checkArgument(Objects.nonNull(arr)); - AssertTools.checkArgument(times >= 0, + checkArgument(Objects.nonNull(arr)); + checkArgument(times >= 0, "The number of times must be greater than or equal to zero"); - AssertTools.checkArgument(maxLength >= 0, + checkArgument(maxLength >= 0, "The max length must be greater than or equal to zero"); if (times == 0) { return EMPTY_CHAR_ARRAY; @@ -523,10 +526,10 @@ public class ArrayTools { * @return 重复后的数组 */ public static byte[] repeat(byte[] arr, int times, int maxLength) { - AssertTools.checkArgument(Objects.nonNull(arr)); - AssertTools.checkArgument(times >= 0, + checkArgument(Objects.nonNull(arr)); + checkArgument(times >= 0, "The number of times must be greater than or equal to zero"); - AssertTools.checkArgument(maxLength >= 0, + checkArgument(maxLength >= 0, "The max length must be greater than or equal to zero"); if (times == 0) { return EMPTY_BYTE_ARRAY; @@ -558,10 +561,10 @@ public class ArrayTools { * @return 重复后的数组 */ public static short[] repeat(short[] arr, int times, int maxLength) { - AssertTools.checkArgument(Objects.nonNull(arr)); - AssertTools.checkArgument(times >= 0, + checkArgument(Objects.nonNull(arr)); + checkArgument(times >= 0, "The number of times must be greater than or equal to zero"); - AssertTools.checkArgument(maxLength >= 0, + checkArgument(maxLength >= 0, "The max length must be greater than or equal to zero"); if (times == 0) { return EMPTY_SHORT_ARRAY; @@ -593,10 +596,10 @@ public class ArrayTools { * @return 重复后的数组 */ public static int[] repeat(int[] arr, int times, int maxLength) { - AssertTools.checkArgument(Objects.nonNull(arr)); - AssertTools.checkArgument(times >= 0, + checkArgument(Objects.nonNull(arr)); + checkArgument(times >= 0, "The number of times must be greater than or equal to zero"); - AssertTools.checkArgument(maxLength >= 0, + checkArgument(maxLength >= 0, "The max length must be greater than or equal to zero"); if (times == 0) { return EMPTY_INT_ARRAY; @@ -628,10 +631,10 @@ public class ArrayTools { * @return 重复后的数组 */ public static long[] repeat(long[] arr, int times, int maxLength) { - AssertTools.checkArgument(Objects.nonNull(arr)); - AssertTools.checkArgument(times >= 0, + checkArgument(Objects.nonNull(arr)); + checkArgument(times >= 0, "The number of times must be greater than or equal to zero"); - AssertTools.checkArgument(maxLength >= 0, + checkArgument(maxLength >= 0, "The max length must be greater than or equal to zero"); if (times == 0) { return EMPTY_LONG_ARRAY; @@ -663,10 +666,10 @@ public class ArrayTools { * @return 重复后的数组 */ public static float[] repeat(float[] arr, int times, int maxLength) { - AssertTools.checkArgument(Objects.nonNull(arr)); - AssertTools.checkArgument(times >= 0, + checkArgument(Objects.nonNull(arr)); + checkArgument(times >= 0, "The number of times must be greater than or equal to zero"); - AssertTools.checkArgument(maxLength >= 0, + checkArgument(maxLength >= 0, "The max length must be greater than or equal to zero"); if (times == 0) { return EMPTY_FLOAT_ARRAY; @@ -698,10 +701,10 @@ public class ArrayTools { * @return 重复后的数组 */ public static double[] repeat(double[] arr, int times, int maxLength) { - AssertTools.checkArgument(Objects.nonNull(arr)); - AssertTools.checkArgument(times >= 0, + checkArgument(Objects.nonNull(arr)); + checkArgument(times >= 0, "The number of times must be greater than or equal to zero"); - AssertTools.checkArgument(maxLength >= 0, + checkArgument(maxLength >= 0, "The max length must be greater than or equal to zero"); if (times == 0) { return EMPTY_DOUBLE_ARRAY; @@ -747,7 +750,7 @@ public class ArrayTools { * @param values 填充内容 */ public static void fill(char[] a, int fromIndex, int toIndex, @Nullable char[] values) { - AssertTools.checkArgument(Objects.nonNull(a)); + checkArgument(Objects.nonNull(a)); if (values == null || values.length == 0) { return; } @@ -790,7 +793,7 @@ public class ArrayTools { * @param values 填充内容 */ public static void fill(byte[] a, int fromIndex, int toIndex, @Nullable byte[] values) { - AssertTools.checkArgument(Objects.nonNull(a)); + checkArgument(Objects.nonNull(a)); if (values == null || values.length == 0) { return; } @@ -833,7 +836,7 @@ public class ArrayTools { * @param values 填充内容 */ public static void fill(short[] a, int fromIndex, int toIndex, @Nullable short[] values) { - AssertTools.checkArgument(Objects.nonNull(a)); + checkArgument(Objects.nonNull(a)); if (values == null || values.length == 0) { return; } @@ -876,7 +879,7 @@ public class ArrayTools { * @param values 填充内容 */ public static void fill(int[] a, int fromIndex, int toIndex, @Nullable int[] values) { - AssertTools.checkArgument(Objects.nonNull(a)); + checkArgument(Objects.nonNull(a)); if (values == null || values.length == 0) { return; } @@ -919,7 +922,7 @@ public class ArrayTools { * @param values 填充内容 */ public static void fill(long[] a, int fromIndex, int toIndex, @Nullable long[] values) { - AssertTools.checkArgument(Objects.nonNull(a)); + checkArgument(Objects.nonNull(a)); if (values == null || values.length == 0) { return; } @@ -962,7 +965,7 @@ public class ArrayTools { * @param values 填充内容 */ public static void fill(float[] a, int fromIndex, int toIndex, @Nullable float[] values) { - AssertTools.checkArgument(Objects.nonNull(a)); + checkArgument(Objects.nonNull(a)); if (values == null || values.length == 0) { return; } @@ -1005,7 +1008,7 @@ public class ArrayTools { * @param values 填充内容 */ public static void fill(double[] a, int fromIndex, int toIndex, @Nullable double[] values) { - AssertTools.checkArgument(Objects.nonNull(a)); + checkArgument(Objects.nonNull(a)); if (values == null || values.length == 0) { return; } @@ -1060,7 +1063,7 @@ public class ArrayTools { * @param values 填充内容 */ private static void fillInternal(T[] a, int fromIndex, int toIndex, @Nullable T[] values) { - AssertTools.checkArgument(Objects.nonNull(a)); + checkArgument(Objects.nonNull(a)); if (values == null || values.length == 0) { return; } @@ -1087,7 +1090,7 @@ public class ArrayTools { // #region - indexOf public static int indexOf(@Nullable T[] arr, Predicate predicate) { - AssertTools.checkNotNull(predicate); + checkNotNull(predicate); if (arr == null || arr.length == 0) { return NOT_FOUND_INDEX; } @@ -1192,7 +1195,7 @@ public class ArrayTools { // #region - lastIndexOf public static int lastIndexOf(@Nullable T[] arr, Predicate predicate) { - AssertTools.checkNotNull(predicate); + checkNotNull(predicate); if (arr == null || arr.length == 0) { return NOT_FOUND_INDEX; } diff --git a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/AssertTools.java b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/AssertTools.java index 268e764..7313d4a 100644 --- a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/AssertTools.java +++ b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/AssertTools.java @@ -31,11 +31,11 @@ import xyz.zhouxy.plusone.commons.exception.system.DataOperationResultException; * 本工具类不封装过多判断逻辑,鼓励充分使用项目中的工具类进行逻辑判断。 * *
- * AssertTools.checkArgument(StringUtils.hasText(str), "The argument cannot be blank.");
- * AssertTools.checkState(ArrayUtils.isNotEmpty(result), "The result cannot be empty.");
- * AssertTools.checkCondition(!CollectionUtils.isEmpty(roles),
+ * checkArgument(StringUtils.hasText(str), "The argument cannot be blank.");
+ * checkState(ArrayUtils.isNotEmpty(result), "The result cannot be empty.");
+ * checkCondition(!CollectionUtils.isEmpty(roles),
  *     () -> new InvalidInputException("The roles cannot be empty."));
- * AssertTools.checkCondition(RegexTools.matches(email, PatternConsts.EMAIL),
+ * checkCondition(RegexTools.matches(email, PatternConsts.EMAIL),
  *     "must be a well-formed email address");
  * 
* diff --git a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/BigDecimals.java b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/BigDecimals.java index e3439f4..c2e1bd0 100644 --- a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/BigDecimals.java +++ b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/BigDecimals.java @@ -16,6 +16,8 @@ package xyz.zhouxy.plusone.commons.util; +import static xyz.zhouxy.plusone.commons.util.AssertTools.checkNotNull; + import java.math.BigDecimal; import javax.annotation.Nonnull; @@ -53,8 +55,8 @@ public class BigDecimals { * @return 当 {@code a} 大于 {@code b} 时返回 {@code true} */ public static boolean gt(BigDecimal a, BigDecimal b) { - AssertTools.checkNotNull(a, "Parameter could not be null."); - AssertTools.checkNotNull(b, "Parameter could not be null."); + checkNotNull(a, "Parameter could not be null."); + checkNotNull(b, "Parameter could not be null."); return (a != b) && (a.compareTo(b) > 0); } @@ -66,8 +68,8 @@ public class BigDecimals { * @return 当 {@code a} 大于等于 {@code b} 时返回 {@code true} */ public static boolean ge(BigDecimal a, BigDecimal b) { - AssertTools.checkNotNull(a, "Parameter could not be null."); - AssertTools.checkNotNull(b, "Parameter could not be null."); + checkNotNull(a, "Parameter could not be null."); + checkNotNull(b, "Parameter could not be null."); return (a == b) || (a.compareTo(b) >= 0); } @@ -79,8 +81,8 @@ public class BigDecimals { * @return 当 {@code a} 小于 {@code b} 时返回 {@code true} */ public static boolean lt(BigDecimal a, BigDecimal b) { - AssertTools.checkNotNull(a, "Parameter could not be null."); - AssertTools.checkNotNull(b, "Parameter could not be null."); + checkNotNull(a, "Parameter could not be null."); + checkNotNull(b, "Parameter could not be null."); return (a != b) && (a.compareTo(b) < 0); } @@ -92,8 +94,8 @@ public class BigDecimals { * @return 当 {@code a} 小于等于 {@code b} 时返回 {@code true} */ public static boolean le(BigDecimal a, BigDecimal b) { - AssertTools.checkNotNull(a, "Parameter could not be null."); - AssertTools.checkNotNull(b, "Parameter could not be null."); + checkNotNull(a, "Parameter could not be null."); + checkNotNull(b, "Parameter could not be null."); return (a == b) || (a.compareTo(b) <= 0); } diff --git a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/EnumTools.java b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/EnumTools.java index ef91118..99bc6f1 100644 --- a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/EnumTools.java +++ b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/EnumTools.java @@ -16,6 +16,9 @@ package xyz.zhouxy.plusone.commons.util; +import static xyz.zhouxy.plusone.commons.util.AssertTools.checkCondition; +import static xyz.zhouxy.plusone.commons.util.AssertTools.checkNotNull; + import java.util.function.Supplier; import javax.annotation.Nullable; @@ -43,7 +46,7 @@ public final class EnumTools { @Deprecated private static > E valueOfInternal(Class enumType, int ordinal) { // NOSONAR 该方法弃用,但不删掉 E[] values = enumType.getEnumConstants(); - AssertTools.checkCondition((ordinal >= 0 && ordinal < values.length), + checkCondition((ordinal >= 0 && ordinal < values.length), () -> new EnumConstantNotPresentException(enumType, Integer.toString(ordinal))); return values[ordinal]; } @@ -59,7 +62,7 @@ public final class EnumTools { */ @Deprecated public static > E valueOf(Class enumType, int ordinal) { // NOSONAR 该方法弃用,但不删掉 - AssertTools.checkNotNull(enumType, "Enum type must not be null."); + checkNotNull(enumType, "Enum type must not be null."); return valueOfInternal(enumType, ordinal); } @@ -76,7 +79,7 @@ public final class EnumTools { @Deprecated public static > E valueOf(Class enumType, // NOSONAR 该方法弃用,但不删掉 @Nullable Integer ordinal, @Nullable E defaultValue) { - AssertTools.checkNotNull(enumType); + checkNotNull(enumType); return null == ordinal ? defaultValue : valueOfInternal(enumType, ordinal); } @@ -95,8 +98,8 @@ public final class EnumTools { Class enumType, @Nullable Integer ordinal, Supplier defaultValue) { - AssertTools.checkNotNull(enumType); - AssertTools.checkNotNull(defaultValue); + checkNotNull(enumType); + checkNotNull(defaultValue); return null == ordinal ? defaultValue.get() : valueOfInternal(enumType, ordinal); } @@ -112,7 +115,7 @@ public final class EnumTools { @Deprecated public static > E getValueOrDefault(Class enumType, @Nullable Integer ordinal) { // NOSONAR 该方法弃用,但不删掉 return getValueOrDefault(enumType, ordinal, () -> { - AssertTools.checkNotNull(enumType, "Enum type must not be null."); + checkNotNull(enumType, "Enum type must not be null."); E[] values = enumType.getEnumConstants(); return values[0]; }); @@ -133,10 +136,10 @@ public final class EnumTools { } public static > Integer checkOrdinal(Class enumType, Integer ordinal) { - AssertTools.checkNotNull(enumType, "Enum type must not be null."); - AssertTools.checkNotNull(ordinal, "Ordinal must not be null."); + checkNotNull(enumType, "Enum type must not be null."); + checkNotNull(ordinal, "Ordinal must not be null."); E[] values = enumType.getEnumConstants(); - AssertTools.checkCondition(ordinal >= 0 && ordinal < values.length, + checkCondition(ordinal >= 0 && ordinal < values.length, () -> new EnumConstantNotPresentException(enumType, Integer.toString(ordinal))); return ordinal; } @@ -180,7 +183,7 @@ public final class EnumTools { Class enumType, @Nullable Integer ordinal, @Nullable Integer defaultValue) { - AssertTools.checkNotNull(enumType); + checkNotNull(enumType); return checkOrdinalOrGetInternal(enumType, ordinal, () -> checkOrdinalOrDefaultInternal(enumType, defaultValue, null)); } diff --git a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/Enumeration.java b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/Enumeration.java index ffef722..7ce1547 100644 --- a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/Enumeration.java +++ b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/Enumeration.java @@ -16,6 +16,8 @@ package xyz.zhouxy.plusone.commons.util; +import static xyz.zhouxy.plusone.commons.util.AssertTools.checkArgument; + import java.util.Arrays; import java.util.Collection; import java.util.Collections; @@ -44,7 +46,7 @@ public abstract class Enumeration> // NOSONAR 暂不移 protected final String name; protected Enumeration(final int id, final String name) { - AssertTools.checkArgument(StringTools.isNotBlank(name), "Name of enumeration must has text."); + checkArgument(StringTools.isNotBlank(name), "Name of enumeration must has text."); this.id = id; this.name = name; } @@ -126,7 +128,7 @@ public abstract class Enumeration> // NOSONAR 暂不移 * @return 枚举对象 */ public T get(int id) { - AssertTools.checkArgument(this.valueMap.containsKey(id), "[%s] 对应的值不存在", id); + checkArgument(this.valueMap.containsKey(id), "[%s] 对应的值不存在", id); return this.valueMap.get(id); } diff --git a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/IdGenerator.java b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/IdGenerator.java index fd90391..c54c9e6 100644 --- a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/IdGenerator.java +++ b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/IdGenerator.java @@ -16,8 +16,9 @@ package xyz.zhouxy.plusone.commons.util; +import static xyz.zhouxy.plusone.commons.util.AssertTools.checkArgumentNotNull; + import java.util.Map; -import java.util.Objects; import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; @@ -69,7 +70,7 @@ public class IdGenerator { * @return UUID 字符串 */ public static String toSimpleString(UUID uuid) { - AssertTools.checkArgument(Objects.nonNull(uuid)); + checkArgumentNotNull(uuid); return (uuidDigits(uuid.getMostSignificantBits() >> 32, 8) + uuidDigits(uuid.getMostSignificantBits() >> 16, 4) + uuidDigits(uuid.getMostSignificantBits(), 4) + diff --git a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/RandomTools.java b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/RandomTools.java index 1f7ca35..13650a9 100644 --- a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/RandomTools.java +++ b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/RandomTools.java @@ -16,6 +16,8 @@ package xyz.zhouxy.plusone.commons.util; +import static xyz.zhouxy.plusone.commons.util.AssertTools.checkArgument; + import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import java.util.Objects; @@ -67,21 +69,21 @@ public final class RandomTools { * @return 随机字符串 */ public static String randomStr(Random random, char[] sourceCharacters, int length) { - AssertTools.checkArgument(Objects.nonNull(random), "Random cannot be null."); - AssertTools.checkArgument(Objects.nonNull(sourceCharacters), "Source characters cannot be null."); - AssertTools.checkArgument(length >= 0, "The length should be greater than or equal to zero."); + checkArgument(Objects.nonNull(random), "Random cannot be null."); + checkArgument(Objects.nonNull(sourceCharacters), "Source characters cannot be null."); + checkArgument(length >= 0, "The length should be greater than or equal to zero."); return randomStrInternal(random, sourceCharacters, length); } public static String randomStr(char[] sourceCharacters, int length) { - AssertTools.checkArgument(Objects.nonNull(sourceCharacters), "Source characters cannot be null."); - AssertTools.checkArgument(length >= 0, "The length should be greater than or equal to zero."); + checkArgument(Objects.nonNull(sourceCharacters), "Source characters cannot be null."); + checkArgument(length >= 0, "The length should be greater than or equal to zero."); return randomStrInternal(ThreadLocalRandom.current(), sourceCharacters, length); } public static String secureRandomStr(char[] sourceCharacters, int length) { - AssertTools.checkArgument(Objects.nonNull(sourceCharacters), "Source characters cannot be null."); - AssertTools.checkArgument(length >= 0, "The length should be greater than or equal to zero."); + checkArgument(Objects.nonNull(sourceCharacters), "Source characters cannot be null."); + checkArgument(length >= 0, "The length should be greater than or equal to zero."); return randomStrInternal(DEFAULT_SECURE_RANDOM, sourceCharacters, length); } @@ -96,21 +98,21 @@ public final class RandomTools { * @return 随机字符串 */ public static String randomStr(Random random, String sourceCharacters, int length) { - AssertTools.checkArgument(Objects.nonNull(random), "Random cannot be null."); - AssertTools.checkArgument(Objects.nonNull(sourceCharacters), "Source characters cannot be null."); - AssertTools.checkArgument(length >= 0, "The length should be greater than or equal to zero."); + checkArgument(Objects.nonNull(random), "Random cannot be null."); + checkArgument(Objects.nonNull(sourceCharacters), "Source characters cannot be null."); + checkArgument(length >= 0, "The length should be greater than or equal to zero."); return randomStrInternal(random, sourceCharacters, length); } public static String randomStr(String sourceCharacters, int length) { - AssertTools.checkArgument(Objects.nonNull(sourceCharacters), "Source characters cannot be null."); - AssertTools.checkArgument(length >= 0, "The length should be greater than or equal to zero."); + checkArgument(Objects.nonNull(sourceCharacters), "Source characters cannot be null."); + checkArgument(length >= 0, "The length should be greater than or equal to zero."); return randomStrInternal(ThreadLocalRandom.current(), sourceCharacters, length); } public static String secureRandomStr(String sourceCharacters, int length) { - AssertTools.checkArgument(Objects.nonNull(sourceCharacters), "Source characters cannot be null."); - AssertTools.checkArgument(length >= 0, "The length should be greater than or equal to zero."); + checkArgument(Objects.nonNull(sourceCharacters), "Source characters cannot be null."); + checkArgument(length >= 0, "The length should be greater than or equal to zero."); return randomStrInternal(DEFAULT_SECURE_RANDOM, sourceCharacters, length); } diff --git a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/RegexTools.java b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/RegexTools.java index 3f5b51d..216d54c 100644 --- a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/RegexTools.java +++ b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/RegexTools.java @@ -16,6 +16,9 @@ package xyz.zhouxy.plusone.commons.util; +import static xyz.zhouxy.plusone.commons.util.AssertTools.checkArgument; +import static xyz.zhouxy.plusone.commons.util.AssertTools.checkNotNull; + import java.util.Arrays; import java.util.Objects; import java.util.Optional; @@ -72,7 +75,7 @@ public final class RegexTools { * @return {@link Pattern} 实例 */ public static Pattern getPattern(final String pattern, final int flags, final boolean cachePattern) { - AssertTools.checkNotNull(pattern); + checkNotNull(pattern); return cachePattern ? cacheAndGetPatternInternal(pattern, flags) : getPatternInternal(pattern, flags); } @@ -95,7 +98,7 @@ public final class RegexTools { */ @Nonnull public static Pattern getPattern(final String pattern, final int flags) { - AssertTools.checkNotNull(pattern); + checkNotNull(pattern); return getPatternInternal(pattern, flags); } @@ -115,7 +118,7 @@ public final class RegexTools { * @return 判断结果 */ public static boolean matches(@Nullable final CharSequence input, final Pattern pattern) { - AssertTools.checkNotNull(pattern); + checkNotNull(pattern); return matchesInternal(input, pattern); } @@ -127,7 +130,7 @@ public final class RegexTools { * @return 判断结果 */ public static boolean matchesAny(@Nullable final CharSequence input, final Pattern[] patterns) { - AssertTools.checkArgument(ArrayTools.isAllElementsNotNull(patterns)); + checkArgument(ArrayTools.isAllElementsNotNull(patterns)); return matchesAnyInternal(input, patterns); } @@ -139,7 +142,7 @@ public final class RegexTools { * @return 判断结果 */ public static boolean matchesAll(@Nullable final CharSequence input, final Pattern[] patterns) { - AssertTools.checkArgument(ArrayTools.isAllElementsNotNull(patterns)); + checkArgument(ArrayTools.isAllElementsNotNull(patterns)); return matchesAllInternal(input, patterns); } @@ -210,8 +213,8 @@ public final class RegexTools { * @return 结果 */ public static Matcher getMatcher(final CharSequence input, final Pattern pattern) { - AssertTools.checkNotNull(input); - AssertTools.checkNotNull(pattern); + checkNotNull(input); + checkNotNull(pattern); return pattern.matcher(input); } @@ -261,8 +264,8 @@ public final class RegexTools { * @return 结果 */ public static Matcher getMatcher(final CharSequence input, final String pattern, final int flags) { - AssertTools.checkNotNull(input); - AssertTools.checkNotNull(pattern); + checkNotNull(input); + checkNotNull(pattern); return getPatternInternal(pattern, flags).matcher(input); } diff --git a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/SnowflakeIdGenerator.java b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/SnowflakeIdGenerator.java index c8af751..5dda46e 100644 --- a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/SnowflakeIdGenerator.java +++ b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/SnowflakeIdGenerator.java @@ -16,6 +16,8 @@ package xyz.zhouxy.plusone.commons.util; +import static xyz.zhouxy.plusone.commons.util.AssertTools.checkArgument; + import java.util.concurrent.TimeUnit; /** @@ -73,9 +75,9 @@ public class SnowflakeIdGenerator { * @param datacenterId 数据中心ID (0~31) */ public SnowflakeIdGenerator(final long workerId, final long datacenterId) { - AssertTools.checkArgument((workerId <= MAX_WORKER_ID && workerId >= 0), + checkArgument((workerId <= MAX_WORKER_ID && workerId >= 0), "WorkerId can't be greater than %s or less than 0.", MAX_WORKER_ID); - AssertTools.checkArgument((datacenterId <= MAX_DATACENTER_ID && datacenterId >= 0), + checkArgument((datacenterId <= MAX_DATACENTER_ID && datacenterId >= 0), "DatacenterId can't be greater than %s or less than 0.", MAX_DATACENTER_ID); this.datacenterIdAndWorkerId = (datacenterId << DATACENTER_ID_SHIFT) | (workerId << WORKER_ID_SHIFT); diff --git a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/StringTools.java b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/StringTools.java index 0a523d5..3fa2f1b 100644 --- a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/StringTools.java +++ b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/StringTools.java @@ -16,6 +16,8 @@ package xyz.zhouxy.plusone.commons.util; +import static xyz.zhouxy.plusone.commons.util.AssertTools.checkArgument; + import java.net.MalformedURLException; import java.net.URL; import java.util.Objects; @@ -110,7 +112,7 @@ public class StringTools { * @return 结果 */ public static String repeat(final String str, int times, int maxLength) { - AssertTools.checkArgument(Objects.nonNull(str)); + checkArgument(Objects.nonNull(str)); return String.valueOf(ArrayTools.repeat(str.toCharArray(), times, maxLength)); } @@ -210,8 +212,8 @@ public class StringTools { if (src == null || src.isEmpty()) { return EMPTY_STRING; } - AssertTools.checkArgument(front >= 0 && end >= 0); - AssertTools.checkArgument((front + end) <= src.length(), "需要截取的长度不能大于原字符串长度"); + checkArgument(front >= 0 && end >= 0); + checkArgument((front + end) <= src.length(), "需要截取的长度不能大于原字符串长度"); final char[] charArray = src.toCharArray(); for (int i = front; i < charArray.length - end; i++) { charArray[i] = replacedChar; diff --git a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/TreeBuilder.java b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/TreeBuilder.java index d36bb1b..49b8495 100644 --- a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/TreeBuilder.java +++ b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/TreeBuilder.java @@ -16,6 +16,8 @@ package xyz.zhouxy.plusone.commons.util; +import static xyz.zhouxy.plusone.commons.util.AssertTools.checkNotNull; + import java.util.Collection; import java.util.Comparator; import java.util.List; @@ -76,7 +78,7 @@ public class TreeBuilder { * @param nodes 平铺的节点列表 */ public List buildTree(Collection nodes) { - AssertTools.checkNotNull(nodes); + checkNotNull(nodes); return buildTreeInternal(nodes, this.defaultComparator); } @@ -93,7 +95,7 @@ public class TreeBuilder { * 仅影响调用 addChild 的顺序,如果操作对象本身对应的控制了子节点的顺序,无法影响其相关逻辑。 */ public List buildTree(Collection nodes, @Nullable Comparator comparator) { - AssertTools.checkNotNull(nodes); + checkNotNull(nodes); final Comparator c = (comparator != null) ? comparator : this.defaultComparator; return buildTreeInternal(nodes, c); } diff --git a/plusone-commons/src/test/java/xyz/zhouxy/plusone/commons/base/IWithCodeTests.java b/plusone-commons/src/test/java/xyz/zhouxy/plusone/commons/base/IWithCodeTests.java index b1f4a8f..3f5e675 100644 --- a/plusone-commons/src/test/java/xyz/zhouxy/plusone/commons/base/IWithCodeTests.java +++ b/plusone-commons/src/test/java/xyz/zhouxy/plusone/commons/base/IWithCodeTests.java @@ -17,12 +17,12 @@ package xyz.zhouxy.plusone.commons.base; import static org.junit.jupiter.api.Assertions.*; +import static xyz.zhouxy.plusone.commons.util.AssertTools.checkNotNull; import javax.annotation.Nonnull; import org.junit.jupiter.api.Test; -import xyz.zhouxy.plusone.commons.util.AssertTools; class IWithCodeTests { @@ -91,7 +91,7 @@ class IWithCodeTests { private final String code; WithCode(String code) { - AssertTools.checkNotNull(code); + checkNotNull(code); this.code = code; }