diff --git a/kernel-d-scanner/scanner-api/src/test/java/cn/stylefeng/roses/kernel/scanner/api/TestArray.java b/kernel-d-scanner/scanner-api/src/test/java/cn/stylefeng/roses/kernel/scanner/api/TestArray.java index 7683fe4d9..6f14f41fa 100644 --- a/kernel-d-scanner/scanner-api/src/test/java/cn/stylefeng/roses/kernel/scanner/api/TestArray.java +++ b/kernel-d-scanner/scanner-api/src/test/java/cn/stylefeng/roses/kernel/scanner/api/TestArray.java @@ -18,10 +18,10 @@ import java.util.List; import java.util.Set; /** - * 测试 + * 测试数组元素的类型解析 * * @author fengshuonan - * @since 2024/8/7 14:25 + * @since 2024/8/7 14:39 */ public class TestArray { diff --git a/kernel-d-scanner/scanner-api/src/test/java/cn/stylefeng/roses/kernel/scanner/api/TestBase.java b/kernel-d-scanner/scanner-api/src/test/java/cn/stylefeng/roses/kernel/scanner/api/TestBase.java index 323ff0ccf..6a51eb14d 100644 --- a/kernel-d-scanner/scanner-api/src/test/java/cn/stylefeng/roses/kernel/scanner/api/TestBase.java +++ b/kernel-d-scanner/scanner-api/src/test/java/cn/stylefeng/roses/kernel/scanner/api/TestBase.java @@ -15,10 +15,10 @@ import java.lang.reflect.Type; import java.math.BigDecimal; /** - * 测试 + * 基础类型的解析 * * @author fengshuonan - * @since 2024/8/7 14:25 + * @since 2024/8/7 14:40 */ public class TestBase { diff --git a/kernel-d-scanner/scanner-api/src/test/java/cn/stylefeng/roses/kernel/scanner/api/TestCircular.java b/kernel-d-scanner/scanner-api/src/test/java/cn/stylefeng/roses/kernel/scanner/api/TestCircular.java new file mode 100644 index 000000000..a1fe773e0 --- /dev/null +++ b/kernel-d-scanner/scanner-api/src/test/java/cn/stylefeng/roses/kernel/scanner/api/TestCircular.java @@ -0,0 +1,42 @@ +package cn.stylefeng.roses.kernel.scanner.api; + +import cn.hutool.core.collection.ListUtil; +import cn.hutool.core.lang.TypeReference; +import cn.hutool.core.util.IdUtil; +import cn.stylefeng.roses.kernel.scanner.api.factory.ClassMetaFactory; +import cn.stylefeng.roses.kernel.scanner.api.pojo.CircularObject; +import cn.stylefeng.roses.kernel.scanner.api.pojo.resource.FieldMetadata; +import cn.stylefeng.roses.kernel.scanner.api.util.AdvancedClassTypeUtil; +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONWriter; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import java.lang.reflect.Type; + +/** + * 针对object类型,递归调用的解析 + * + * @author fengshuonan + * @since 2024/8/7 14:40 + */ +public class TestCircular { + + @BeforeEach + public void setUp() { + AdvancedClassTypeUtil.TEMP_SCAN_PACKAGE_LIST = ListUtil.of("cn.stylefeng"); + } + + @Test + public void testCircular() { + Type type = new TypeReference() { + }.getType(); + + FieldMetadata fieldMetadata = ClassMetaFactory.beginCreateFieldMetadata(type, IdUtil.fastSimpleUUID()); + + String jsonString = JSON.toJSONString(fieldMetadata, JSONWriter.Feature.PrettyFormat); + + System.out.println(jsonString); + } + +}