!534 新增工具类注释

Merge pull request !534 from AprilWind/dev-docs
This commit is contained in:
疯狂的狮子Li 2024-05-14 13:34:54 +00:00 committed by Gitee
commit 78115e0504
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
3 changed files with 75 additions and 5 deletions

View File

@ -1,11 +1,11 @@
package org.dromara.common.core.utils;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import jakarta.validation.ConstraintViolation;
import jakarta.validation.ConstraintViolationException;
import jakarta.validation.Validator;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import java.util.Set;
/**
@ -18,6 +18,13 @@ public class ValidatorUtils {
private static final Validator VALID = SpringUtils.getBean(Validator.class);
/**
* 对给定对象进行参数校验并根据指定的校验组进行校验
*
* @param object 要进行校验的对象
* @param groups 校验组
* @throws ConstraintViolationException 如果校验不通过则抛出参数校验异常
*/
public static <T> void validate(T object, Class<?>... groups) {
Set<ConstraintViolation<T>> validate = VALID.validate(object, groups);
if (!validate.isEmpty()) {

View File

@ -7,10 +7,10 @@ import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.exc.MismatchedInputException;
import org.dromara.common.core.utils.SpringUtils;
import org.dromara.common.core.utils.StringUtils;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.dromara.common.core.utils.SpringUtils;
import org.dromara.common.core.utils.StringUtils;
import java.io.IOException;
import java.util.ArrayList;
@ -30,6 +30,13 @@ public class JsonUtils {
return OBJECT_MAPPER;
}
/**
* 将对象转换为JSON格式的字符串
*
* @param object 要转换的对象
* @return JSON格式的字符串如果对象为null则返回null
* @throws RuntimeException 如果转换过程中发生JSON处理异常则抛出运行时异常
*/
public static String toJsonString(Object object) {
if (ObjectUtil.isNull(object)) {
return null;
@ -41,6 +48,15 @@ public class JsonUtils {
}
}
/**
* 将JSON格式的字符串转换为指定类型的对象
*
* @param text JSON格式的字符串
* @param clazz 要转换的目标对象类型
* @param <T> 目标对象的泛型类型
* @return 转换后的对象如果字符串为空则返回null
* @throws RuntimeException 如果转换过程中发生IO异常则抛出运行时异常
*/
public static <T> T parseObject(String text, Class<T> clazz) {
if (StringUtils.isEmpty(text)) {
return null;
@ -52,6 +68,15 @@ public class JsonUtils {
}
}
/**
* 将字节数组转换为指定类型的对象
*
* @param bytes 字节数组
* @param clazz 要转换的目标对象类型
* @param <T> 目标对象的泛型类型
* @return 转换后的对象如果字节数组为空则返回null
* @throws RuntimeException 如果转换过程中发生IO异常则抛出运行时异常
*/
public static <T> T parseObject(byte[] bytes, Class<T> clazz) {
if (ArrayUtil.isEmpty(bytes)) {
return null;
@ -63,6 +88,15 @@ public class JsonUtils {
}
}
/**
* 将JSON格式的字符串转换为指定类型的对象支持复杂类型
*
* @param text JSON格式的字符串
* @param typeReference 指定类型的TypeReference对象
* @param <T> 目标对象的泛型类型
* @return 转换后的对象如果字符串为空则返回null
* @throws RuntimeException 如果转换过程中发生IO异常则抛出运行时异常
*/
public static <T> T parseObject(String text, TypeReference<T> typeReference) {
if (StringUtils.isBlank(text)) {
return null;
@ -74,6 +108,13 @@ public class JsonUtils {
}
}
/**
* 将JSON格式的字符串转换为Dict对象
*
* @param text JSON格式的字符串
* @return 转换后的Dict对象如果字符串为空或者不是JSON格式则返回null
* @throws RuntimeException 如果转换过程中发生IO异常则抛出运行时异常
*/
public static Dict parseMap(String text) {
if (StringUtils.isBlank(text)) {
return null;
@ -88,6 +129,13 @@ public class JsonUtils {
}
}
/**
* 将JSON格式的字符串转换为Dict对象的列表
*
* @param text JSON格式的字符串
* @return 转换后的Dict对象的列表如果字符串为空则返回null
* @throws RuntimeException 如果转换过程中发生IO异常则抛出运行时异常
*/
public static List<Dict> parseArrayMap(String text) {
if (StringUtils.isBlank(text)) {
return null;
@ -99,6 +147,15 @@ public class JsonUtils {
}
}
/**
* 将JSON格式的字符串转换为指定类型对象的列表
*
* @param text JSON格式的字符串
* @param clazz 要转换的目标对象类型
* @param <T> 目标对象的泛型类型
* @return 转换后的对象的列表如果字符串为空则返回空列表
* @throws RuntimeException 如果转换过程中发生IO异常则抛出运行时异常
*/
public static <T> List<T> parseArray(String text, Class<T> clazz) {
if (StringUtils.isEmpty(text)) {
return new ArrayList<>();

View File

@ -65,6 +65,12 @@ public class RedisUtils {
consumer.accept(msg);
}
/**
* 发布消息到指定的频道
*
* @param channelKey 通道key
* @param msg 发送数据
*/
public static <T> void publish(String channelKey, T msg) {
RTopic topic = CLIENT.getTopic(channelKey);
topic.publish(msg);