java.lang.Object
cn.wjybxx.dsoncodec.DefaultDsonConverter
- 所有已实现的接口:
Converter,DsonConverter
- 作者:
- wjybxx date 2023/4/2
-
方法概要
修饰符和类型方法说明<T> TcloneObject(Object value, TypeInfo<T> typeInfo, Supplier<? extends T> factory) 克隆一个对象。static DefaultDsonConverternewInstance(TypeMetaRegistry typeMetaRegistry, List<? extends DsonCodec<?>> pojoCodecList, ConverterOptions options) static DefaultDsonConverternewInstance2(List<DsonCodecRegistry> registryList, TypeMetaRegistry typeMetaRegistry, ConverterOptions options) options()<T> T从数据源中读取一个对象 注意:如果对象的声明类型和写入的类型不兼容,则表示投影;factory用于支持将数据读取到既有实例或子类实例上。<T> TreadAsDsonCollection(Reader source) 将Dson源解码为DsonValue中间对象 -- 读取全部数据,header存储在外层容器(DsonArray)上。readAsDsonValue(Reader source) 将Dson源解码为DsonValue中间对象 -- 只读取一个顶层对象。<T> TreadFromDson(Reader source, TypeInfo<T> typeInfo, Supplier<? extends T> factory) 从数据源中读取一个对象 (默认不关闭reader)<T> TreadFromDson(CharSequence source, TypeInfo<T> typeInfo, Supplier<? extends T> factory) 从数据源中读取一个对象<T> TreadFromDsonValue(DsonValue source, TypeInfo<T> typeInfo, Supplier<? extends T> factory) withOptions(ConverterOptions options) 在共享其它属性的情况,创建一个持有给定options的Converterbyte[]将一个对象写入源 注意:如果对象的运行时类型和声明类型一致,则可省去编码结果中的类型信息。voidwriteAsDson(Object value, TypeInfo<?> typeInfo, ObjectStyle style) 将一个对象写入源 如果对象的运行时类型和TypeInfo.rawType一致,则会省去编码结果中的类型信息, 使用TypeInfo.NONE也可以避免写入类型信息。voidwriteAsDson(Object value, TypeInfo<?> typeInfo, Writer writer, ObjectStyle style) 将一个对象写入指定writer (默认不关闭writer)writeAsDsonValue(Object value, TypeInfo<?> typeInfo) 将一个对象写为DsonObject或DsonArray从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait从接口继承的方法 cn.wjybxx.dsoncodec.DsonConverter
readFromDson, readFromDson, readFromDson, readFromDsonValue, writeAsDson, writeAsDson, writeAsDson
-
方法详细资料
-
codecRegistry
- 指定者:
codecRegistry在接口中DsonConverter
-
typeMetaRegistry
- 指定者:
typeMetaRegistry在接口中DsonConverter
-
options
- 指定者:
options在接口中DsonConverter
-
withOptions
从接口复制的说明:DsonConverter在共享其它属性的情况,创建一个持有给定options的Converter- 指定者:
withOptions在接口中DsonConverter
-
write
从接口复制的说明:Converter将一个对象写入源 注意:如果对象的运行时类型和声明类型一致,则可省去编码结果中的类型信息。 -
read
从接口复制的说明:Converter从数据源中读取一个对象 注意:如果对象的声明类型和写入的类型不兼容,则表示投影;factory用于支持将数据读取到既有实例或子类实例上。 -
write
-
read
-
cloneObject
从接口复制的说明:Converter克隆一个对象。 注意: 1.返回值的类型不一定和原始对象相同,这通常发生在集合对象上。 2.如果Codec存在lazyDecode,也会导致不同- 指定者:
cloneObject在接口中Converter- 参数:
typeInfo- 用于确定返回结果类型factory- 实例工厂
-
writeAsDson
从接口复制的说明:DsonConverter将一个对象写入源 如果对象的运行时类型和TypeInfo.rawType一致,则会省去编码结果中的类型信息, 使用TypeInfo.NONE也可以避免写入类型信息。- 指定者:
writeAsDson在接口中DsonConverter- 参数:
typeInfo- 对象的类型信息style- 缩进格式
-
readFromDson
public <T> T readFromDson(CharSequence source, @Nonnull TypeInfo<T> typeInfo, Supplier<? extends T> factory) 从接口复制的说明:DsonConverter从数据源中读取一个对象- 指定者:
readFromDson在接口中DsonConverter- 参数:
source- 数据源typeInfo- 要读取的目标类型信息,部分实现支持投影
-
writeAsDson
public void writeAsDson(Object value, @Nonnull TypeInfo<?> typeInfo, Writer writer, ObjectStyle style) 从接口复制的说明:DsonConverter将一个对象写入指定writer (默认不关闭writer)- 指定者:
writeAsDson在接口中DsonConverter- 参数:
typeInfo- 对象的类型信息writer- 用于接收输出style- 缩进格式
-
readFromDson
public <T> T readFromDson(Reader source, @Nonnull TypeInfo<T> typeInfo, Supplier<? extends T> factory) 从接口复制的说明:DsonConverter从数据源中读取一个对象 (默认不关闭reader)- 指定者:
readFromDson在接口中DsonConverter- 参数:
source- 用于支持大数据源typeInfo- 要读取的目标类型信息,部分实现支持投影
-
writeAsDsonValue
从接口复制的说明:DsonConverter将一个对象写为DsonObject或DsonArray- 指定者:
writeAsDsonValue在接口中DsonConverter- 参数:
value- 顶层对象必须的容器对象,Object和数组typeInfo- 对象的类型信息- 返回:
DsonObject或DsonArray
-
readFromDsonValue
public <T> T readFromDsonValue(DsonValue source, @Nonnull TypeInfo<T> typeInfo, Supplier<? extends T> factory) - 指定者:
readFromDsonValue在接口中DsonConverter- 参数:
source-DsonObject或DsonArraytypeInfo- 要读取的目标类型信息
-
readAsDsonValue
从接口复制的说明:DsonConverter将Dson源解码为DsonValue中间对象 -- 只读取一个顶层对象。 外部可以保存该对象,以提高重复反序列化的效率。 (默认不关闭Reader)- 指定者:
readAsDsonValue在接口中DsonConverter- 参数:
source- 数据源- 返回:
- 中间对象
-
readAsDsonCollection
从接口复制的说明:DsonConverter将Dson源解码为DsonValue中间对象 -- 读取全部数据,header存储在外层容器(DsonArray)上。 外部可以保存该对象,以提高重复反序列化的效率。 (默认不关闭Reader)- 指定者:
readAsDsonCollection在接口中DsonConverter- 参数:
source- 数据源- 返回:
- 中间对象
-
newInstance
public static DefaultDsonConverter newInstance(TypeMetaRegistry typeMetaRegistry, List<? extends DsonCodec<?>> pojoCodecList, ConverterOptions options) - 参数:
typeMetaRegistry- 所有的类型id信息,包括protobuf的类pojoCodecList- 所有的普通对象编解码器,外部传入,因此用户可以处理冲突后传入options- 一些可选项
-
newInstance2
public static DefaultDsonConverter newInstance2(List<DsonCodecRegistry> registryList, TypeMetaRegistry typeMetaRegistry, ConverterOptions options) - 参数:
registryList- 可以包含一些特殊的registrytypeMetaRegistry- 所有的类型id信息,包括protobuf的类options- 一些可选项
-