修改 EnumTools 中方法的参数名称

This commit is contained in:
zhouxy108 2024-12-24 17:41:04 +08:00
parent 8ac446e228
commit 9f7eda47fe

View File

@ -34,18 +34,18 @@ public final class EnumTools {
/** /**
* 通过 ordinal 获取枚举实例 * 通过 ordinal 获取枚举实例
* *
* @param <E> 枚举的类型 * @param <E> 枚举的类型
* @param clazz 枚举的类型信息 * @param enumType 枚举的类型信息
* @param ordinal 序号 * @param ordinal 序号
* @return 枚举对象 * @return 枚举对象
* @deprecated 不推荐使用枚举的 ordinal * @deprecated 不推荐使用枚举的 ordinal
*/ */
@Deprecated @Deprecated
public static <E extends Enum<?>> E valueOf(Class<E> clazz, int ordinal) { // NOSONAR 该方法弃用但不删掉 public static <E extends Enum<?>> E valueOf(Class<E> enumType, int ordinal) { // NOSONAR 该方法弃用但不删掉
AssertTools.checkNotNull(clazz, "Clazz must not be null."); AssertTools.checkNotNull(enumType, "Enum type must not be null.");
E[] values = clazz.getEnumConstants(); E[] values = enumType.getEnumConstants();
AssertTools.checkCondition((ordinal >= 0 && ordinal < values.length), AssertTools.checkCondition((ordinal >= 0 && ordinal < values.length),
() -> new EnumConstantNotPresentException(clazz, Integer.toString(ordinal))); () -> new EnumConstantNotPresentException(enumType, Integer.toString(ordinal)));
return values[ordinal]; return values[ordinal];
} }
@ -53,25 +53,23 @@ public final class EnumTools {
* 通过 ordinal 获取枚举实例 * 通过 ordinal 获取枚举实例
* *
* @param <E> 枚举的类型 * @param <E> 枚举的类型
* @param clazz 枚举的类型信息 * @param enumType 枚举的类型信息
* @param ordinal 序号 * @param ordinal 序号
* @param defaultValue 默认值 * @param defaultValue 默认值
* @return 枚举对象 * @return 枚举对象
* @deprecated 不推荐使用枚举的 ordinal * @deprecated 不推荐使用枚举的 ordinal
*/ */
@Deprecated @Deprecated
public static <E extends Enum<?>> E valueOf(Class<E> clazz, @Nullable Integer ordinal, E defaultValue) { // NOSONAR 该方法弃用但不删掉 public static <E extends Enum<?>> E valueOf(Class<E> enumType, // NOSONAR 该方法弃用但不删掉
if (null == ordinal) { @Nullable Integer ordinal, E defaultValue) {
return defaultValue; return null == ordinal ? defaultValue : valueOf(enumType, ordinal);
}
return valueOf(clazz, ordinal);
} }
/** /**
* 通过 ordinal 获取枚举实例 * 通过 ordinal 获取枚举实例
* *
* @param <E> 枚举的类型 * @param <E> 枚举的类型
* @param clazz 枚举的类型信息 * @param enumType 枚举的类型信息
* @param ordinal 序号 * @param ordinal 序号
* @param defaultValue 默认值 * @param defaultValue 默认值
* @return 枚举对象 * @return 枚举对象
@ -79,29 +77,26 @@ public final class EnumTools {
*/ */
@Deprecated @Deprecated
public static <E extends Enum<?>> E getValueOrDefault( // NOSONAR 该方法弃用但不删掉 public static <E extends Enum<?>> E getValueOrDefault( // NOSONAR 该方法弃用但不删掉
Class<E> clazz, Class<E> enumType,
@Nullable Integer ordinal, @Nullable Integer ordinal,
Supplier<E> defaultValue) { Supplier<E> defaultValue) {
if (null == ordinal) { return null == ordinal ? defaultValue.get() : valueOf(enumType, ordinal);
return defaultValue.get();
}
return valueOf(clazz, ordinal);
} }
/** /**
* 通过 ordinal 获取枚举实例 * 通过 ordinal 获取枚举实例
* *
* @param <E> 枚举的类型 * @param <E> 枚举的类型
* @param clazz 枚举的类型信息 * @param enumType 枚举的类型信息
* @param ordinal 序号 * @param ordinal 序号
* @return 枚举对象 * @return 枚举对象
* @deprecated 不推荐使用枚举的 ordinal * @deprecated 不推荐使用枚举的 ordinal
*/ */
@Deprecated @Deprecated
public static <E extends Enum<?>> E getValueOrDefault(Class<E> clazz, @Nullable Integer ordinal) { // NOSONAR 该方法弃用但不删掉 public static <E extends Enum<?>> E getValueOrDefault(Class<E> enumType, @Nullable Integer ordinal) { // NOSONAR 该方法弃用但不删掉
return getValueOrDefault(clazz, ordinal, () -> { return getValueOrDefault(enumType, ordinal, () -> {
AssertTools.checkNotNull(clazz, "Clazz must not be null."); AssertTools.checkNotNull(enumType, "Enum type must not be null.");
E[] values = clazz.getEnumConstants(); E[] values = enumType.getEnumConstants();
return values[0]; return values[0];
}); });
} }
@ -109,69 +104,65 @@ public final class EnumTools {
/** /**
* 通过 ordinal 获取枚举实例 * 通过 ordinal 获取枚举实例
* *
* @param <E> 枚举的类型 * @param <E> 枚举的类型
* @param clazz 枚举的类型信息 * @param enumType 枚举的类型信息
* @param ordinal 序号 * @param ordinal 序号
* @return 枚举对象 * @return 枚举对象
* @deprecated 不推荐使用枚举的 ordinal * @deprecated 不推荐使用枚举的 ordinal
*/ */
@Deprecated @Deprecated
public static <E extends Enum<?>> E getValueNullable(Class<E> clazz, @Nullable Integer ordinal) { // NOSONAR 该方法弃用但不删掉 public static <E extends Enum<?>> E getValueNullable(Class<E> enumType, @Nullable Integer ordinal) { // NOSONAR 该方法弃用但不删掉
return valueOf(clazz, ordinal, null); return valueOf(enumType, ordinal, null);
} }
public static <E extends Enum<?>> Integer checkOrdinal(Class<E> clazz, Integer ordinal) { public static <E extends Enum<?>> Integer checkOrdinal(Class<E> enumType, Integer ordinal) {
AssertTools.checkNotNull(clazz, "Clazz must not be null."); AssertTools.checkNotNull(enumType, "Enum type must not be null.");
AssertTools.checkNotNull(ordinal, "Ordinal must not be null."); AssertTools.checkNotNull(ordinal, "Ordinal must not be null.");
E[] values = clazz.getEnumConstants(); E[] values = enumType.getEnumConstants();
if (ordinal >= 0 && ordinal < values.length) { AssertTools.checkCondition(ordinal >= 0 && ordinal < values.length,
return ordinal; () -> new EnumConstantNotPresentException(enumType, Integer.toString(ordinal)));
} return ordinal;
throw new EnumConstantNotPresentException(clazz, Integer.toString(ordinal));
} }
/** /**
* 校验枚举的 ordinal * 校验枚举的 ordinal
* *
* @param <E> 枚举类型 * @param <E> 枚举类型
* @param clazz 枚举类型 * @param enumType 枚举类型
* @param ordinal The ordinal * @param ordinal The ordinal
* @return The ordinal * @return The ordinal
*/ */
@Nullable @Nullable
public static <E extends Enum<?>> Integer checkOrdinalNullable(Class<E> clazz, @Nullable Integer ordinal) { public static <E extends Enum<?>> Integer checkOrdinalNullable(Class<E> enumType, @Nullable Integer ordinal) {
return checkOrdinalOrDefault(clazz, ordinal, null); return checkOrdinalOrDefault(enumType, ordinal, null);
} }
/** /**
* 校验枚举的 ordinal如果 ordinal {@code null}则返回 {@code 0} * 校验枚举的 ordinal如果 ordinal {@code null}则返回 {@code 0}
* *
* @param <E> 枚举类型 * @param <E> 枚举类型
* @param clazz 枚举类型 * @param enumType 枚举类型
* @param ordinal The ordinal * @param ordinal The ordinal
* @return The ordinal * @return The ordinal
*/ */
@Nullable @Nullable
public static <E extends Enum<?>> Integer checkOrdinalOrDefault(Class<E> clazz, @Nullable Integer ordinal) { public static <E extends Enum<?>> Integer checkOrdinalOrDefault(Class<E> enumType, @Nullable Integer ordinal) {
return checkOrdinalOrDefault(clazz, ordinal, 0); return checkOrdinalOrDefault(enumType, ordinal, 0);
} }
/** /**
* 校验枚举的 ordinal如果 ordinal {@code null}则返回 {@code defaultValue} * 校验枚举的 ordinal如果 ordinal {@code null}则返回 {@code defaultValue}
* *
* @param <E> 枚举类型 * @param <E> 枚举类型
* @param clazz 枚举类型 * @param enumType 枚举类型
* @param ordinal The ordinal * @param ordinal The ordinal
* @return The ordinal * @return The ordinal
*/ */
@Nullable @Nullable
public static <E extends Enum<?>> Integer checkOrdinalOrDefault( public static <E extends Enum<?>> Integer checkOrdinalOrDefault(
Class<E> clazz, Class<E> enumType,
@Nullable Integer ordinal, @Nullable Integer ordinal,
@Nullable Integer defaultValue) { @Nullable Integer defaultValue) {
if (ordinal != null) { return ordinal != null ? checkOrdinal(enumType, ordinal) : defaultValue;
return checkOrdinal(clazz, ordinal);
}
return defaultValue;
} }
} }