程序包 cn.wjybxx.dsoncodec
package cn.wjybxx.dsoncodec
-
类说明生成的代码会继承该类添加了缓存功能的GenericHelper主要用于各种缓存Q:如何解决集合和Map的编解码问题?允许继承扩展,子类应继续保持不可变。DsonCodec<T>自定义POJO对象编解码实现接口,该接口与
DsonCodecImpl协同工作,为典型的桥接模式。当要编码的对象类型不存在直接的Codec时,该方法用于转换编解码类型。泛型类Codec编解码器注册表文档转换器 将对象转换为文档或类文档结构,比如:Json/Bson/Yaml/Lua,主要用于持久化存储1.读取数组内普通成员时,name传null,读取嵌套对象时使用无name参数的start方法 2.为减少API数量,我们的所有简单值读取都是带有name参数的,在已读取name的情况下,接口的name参数将被忽略。如果用户期望强制写入null,需要先调用DsonObjectWriter.writeName(String), 再调用DsonObjectWriter.writeNull(String)动态Codec注册表为更好的支持泛型,我们根据原型类型动态创建TypeMeta PS:要做得更好的话,还可以缓存TypeInfo实例,进行常量化。二进制编码下字段编号表示法 注意: 1.该接口用于运行时补全类型的泛型参数字典的编码代理类型的元数据 不使用Schema这样的东西,是因为Schema包含的信息太多,难以手动维护。类型元数据配置类型元数据注册表 注意:需要实现为线程安全的,建议实现为不可变对象(或事实不可变对象) —— 在运行时通常不会变化。用于实现不同Converter不同的数据类型信息的写入策略