程序包的使用
cn.wjybxx.dsoncodec
使用cn.wjybxx.dsoncodec的程序包
-
类说明类型id。结构化的类型名。主要用于各种缓存Q:如何解决集合和Map的编解码问题?允许继承扩展,子类应继续保持不可变。自定义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)该接口用于运行时补全类型的泛型参数字典的编码代理类型信息类型的元数据 不使用Schema这样的东西,是因为Schema包含的信息太多,难以手动维护。类型元数据配置类型元数据注册表 注意:需要实现为线程安全的,建议实现为不可变对象(或事实不可变对象) —— 在运行时通常不会变化。类型信息的写入策略 -
类说明自定义POJO对象编解码实现接口,该接口与
DsonCodecImpl协同工作,为典型的桥接模式。1.读取数组内普通成员时,name传null,读取嵌套对象时使用无name参数的start方法 2.为减少API数量,我们的所有简单值读取都是带有name参数的,在已读取name的情况下,接口的name参数将被忽略。如果用户期望强制写入null,需要先调用DsonObjectWriter.writeName(String), 再调用DsonObjectWriter.writeNull(String)字典的编码代理类型信息