类 DsonCodecConfig

java.lang.Object
cn.wjybxx.dsoncodec.DsonCodecConfig

public final class DsonCodecConfig extends Object

泛型类Codec

由于泛型类的Codec不能被直接构造,因此只能先将其类型信息存储下来,在运行时根据泛型参数动态构造。

1. Codec编码的类型和要编码的类型有相同的泛型参数列表。且必须包含接收TypeInfo的构造函数 -- 可参考CollectionCodec。 2. 如果Codec的是面向接口或抽象类的,构造函数还可接收一个Supplier的参数。 3. 不会频繁查询,因此不必太在意匹配算法的效率。 4. 数组和泛型是不同的,数组都对应ArrayCodec,因此不需要再这里存储。 5. 请避免运行时修改数据,否则可能造成线程安全问题。 6. 反射难以确定泛型擦参数除后的类型,为避免增加Codec和运行时的复杂度,泛型原型的信息在注册时指定。

与TypeMetaConfig的关系

Codec与TypeMete在配置和运行时都是分离的,它们属于不同的体系; 但Codec关联的encoderType必须在TypeMetaConfig中存在。

合并规则

多个Config合并时,越靠近用户,优先级越高 -- 因为这一定能解决冲突。
作者:
wjybxx date - 2024/10/11
  • 字段详细资料

  • 构造器详细资料

    • DsonCodecConfig

      public DsonCodecConfig()
  • 方法详细资料