接口 TypeMetaRegistry

所有已知实现类:
DynamicTypeMetaRegistry

@ThreadSafe public interface TypeMetaRegistry
类型元数据注册表

注意: 1. 必须保证同一个类在所有机器上的映射结果是相同的,这意味着你应该基于名字映射,而不能直接使用class对象的hash值。 2. 一个类型Class的名字和唯一标识应尽量是稳定的,即同一个类的映射值在不同版本之间是相同的。 3. id和类型之间应当是唯一映射的。 4. 需要实现为线程安全的,建议实现为不可变对象(或事实不可变对象)

作者:
wjybxx date - 2023/4/26
  • 方法概要

    修饰符和类型
    方法
    说明
    该方法的主要目的在于聚合多个Registry为单个Registry,以提高查询效率
    ofClass(Class<?> clazz)
    通过类型信息查询类型元数据。
    ofName(String clsName)
    通过字符串名字找到类型信息
    ofType(TypeInfo<?> type)
    通过完整的类型信息查询类型元数据
  • 方法详细资料

    • ofType

      @Nullable TypeMeta ofType(TypeInfo<?> type)
      通过完整的类型信息查询类型元数据
    • ofClass

      @Nullable TypeMeta ofClass(Class<?> clazz)
      通过类型信息查询类型元数据。 由于java在运行会擦除泛型信息,因此当声明类型和实际类型不一致时,我们只能根据运行时类型的原始类型查询。 所以java生成的文本,C#可能无法解析(无法构造Type);但C#生成的文本,Java可以解析。
      参数:
      clazz - 运行时类型
    • ofName

      TypeMeta ofName(String clsName)
      通过字符串名字找到类型信息
    • export

      List<TypeMeta> export()
      该方法的主要目的在于聚合多个Registry为单个Registry,以提高查询效率