mirror of https://gitee.com/stylefeng/roses
【8.3.0】【scanner】更新class类型判断
parent
f71651111a
commit
33cf0457c9
|
@ -3,7 +3,6 @@ package cn.stylefeng.roses.kernel.scanner.api.util;
|
|||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.stylefeng.roses.kernel.rule.enums.FieldTypeEnum;
|
||||
import cn.stylefeng.roses.kernel.rule.util.ClassTypeUtil;
|
||||
import cn.stylefeng.roses.kernel.scanner.api.context.MetadataContext;
|
||||
import cn.stylefeng.roses.kernel.scanner.api.enums.GenericFieldMetadataType;
|
||||
import cn.stylefeng.roses.kernel.scanner.api.enums.ParamTypeEnum;
|
||||
|
@ -49,7 +48,7 @@ public class ClassDescriptionUtil {
|
|||
}
|
||||
// 如果是集合类型,判断集合的泛型,集合的泛型是对象的话,就是对象类型,否则就是基本类型
|
||||
else if (FieldTypeEnum.COLLECTION_WITH_OBJECT.equals(fieldTypeEnum)) {
|
||||
if (getClassGenObjectFlag(clazz)) {
|
||||
if (ClassDescriptionUtil.getClassGenObjectFlag(clazz)) {
|
||||
fieldMetadataItem.setGenericFieldMetadataType(GenericFieldMetadataType.OBJECT_TYPE.getCode());
|
||||
}
|
||||
}
|
||||
|
@ -73,7 +72,14 @@ public class ClassDescriptionUtil {
|
|||
*/
|
||||
public static FieldMetadata createParameterizedMetadata(ParameterizedType parameterizedType, FieldTypeEnum fieldTypeEnum, String uuid) {
|
||||
Class<?> rawType = (Class<?>) parameterizedType.getRawType();
|
||||
return createClassMetadata(rawType, fieldTypeEnum, uuid);
|
||||
FieldMetadata classMetadata = createClassMetadata(rawType, fieldTypeEnum, uuid);
|
||||
|
||||
// 设置泛型的类型
|
||||
boolean classGenObjectFlag = ClassDescriptionUtil.getClassGenObjectFlag(parameterizedType);
|
||||
if (classGenObjectFlag) {
|
||||
classMetadata.setGenericFieldMetadataType(GenericFieldMetadataType.OBJECT_TYPE.getCode());
|
||||
}
|
||||
return classMetadata;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -98,7 +104,7 @@ public class ClassDescriptionUtil {
|
|||
Type[] actualTypeArguments = parameterizedType.getActualTypeArguments();
|
||||
if (actualTypeArguments.length > 0) {
|
||||
Type actualTypeArgument = actualTypeArguments[0];
|
||||
FieldTypeEnum classFieldType = ClassTypeUtil.getClassFieldType(actualTypeArgument);
|
||||
FieldTypeEnum classFieldType = AdvancedClassTypeUtil.getClassFieldType(actualTypeArgument);
|
||||
return FieldTypeEnum.OBJECT.equals(classFieldType);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue