所有类和接口
类
说明
生成的代码会继承该类
抽象类不添加Enum限制,该接口用于避免拆装箱等问题
写完发现似乎不能注册到TypeMeta?
类型id。
类型id的写入策略
结构化的类型名。
ClassName的解析化池,
解析字符串为结构体的过程的开销还是比较大的,缓存解析结果可以降低内存分配,提高效率。Q:如何解决集合和Map的编解码问题?
允许继承扩展,子类应继续保持不可变。
自定义POJO对象编解码实现接口,该接口与
DsonCodecImpl协同工作,为典型的桥接模式。主要用于为引入的外部库中的Bean自动生成Codec。
主要用于为引入的外部库中的Bean自动生成Codec。
定义一组要自动生成Codec的类
(表示当前类是一个配置文件)
编解码器注册表
该注解用于告知扫描器扫描codec实现时进行忽略
这使得生成的类不自动实例化,因此你可以自行实例化,以对其进行封装等。
文档转换器
将对象转换为文档或类文档结构,比如:Json/Bson/Yaml/Lua,主要用于持久化存储
表示字段在序列化为文档的过程中忽略或加入
如果用户期望强制写入null,需要先调用
DsonObjectWriter.writeName(String),
再调用DsonObjectWriter.writeNull(String)该注解的作用:
1.用于简单情况确定字段的实现类型,以实现精确解析
DsonProperty.impl()。用于标注一个类的对象可序列化为Dson文档结构
为更好的支持泛型,我们根据原型类型动态创建TypeMeta
让枚举的Codec继承该Codec的话,生成的代码就更为稳定,我们调整编解码方式也更方便。
字典的编码代理
通常使用该对象表示用于
特化数组支持
类型信息
类型的元数据
不使用Schema这样的东西,是因为Schema包含的信息太多,难以手动维护。
类型元数据注册表