java.lang.Object
cn.wjybxx.dsoncodec.codecs.EnumCodec<T>
- 所有已实现的接口:
IEnumCodec<T>,DsonCodec<T>
枚举编解码器
如果枚举实现了
EnumLite接口,则序列化时使用自定义数字,否则使用Enum.ordinal()- 作者:
- wjybxx date - 2023/4/24
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明booleanfalse 可以将枚举简单写为整数forNumber(int number) 获取负责编解码的类对象 如果可以,在数据兼容的情况下,尽量将泛型'T'声明为抽象类或接口,然后通过动态的TypeInfo来绑定编解码类型。intreadObject(DsonObjectReader reader, Supplier<? extends T> factory) 从输入流中解析指定对象。voidwriteObject(DsonObjectWriter writer, T inst, TypeInfo declaredType, ObjectStyle style) 将对象写入输出流。从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait从接口继承的方法 cn.wjybxx.dsoncodec.DsonCodec
isWriteAsArray
-
构造器详细资料
-
EnumCodec
- 参数:
enumClass- 枚举类valueInfos- 枚举值信息,允许自定义枚举序列化数据
-
EnumCodec
-
-
方法详细资料
-
forName
- 指定者:
forName在接口中IEnumCodec<T extends Enum<T>>
-
forNumber
- 指定者:
forNumber在接口中IEnumCodec<T extends Enum<T>>
-
getName
- 指定者:
getName在接口中IEnumCodec<T extends Enum<T>>
-
getNumber
- 指定者:
getNumber在接口中IEnumCodec<T extends Enum<T>>
-
getEncoderType
从接口复制的说明:DsonCodec获取负责编解码的类对象 如果可以,在数据兼容的情况下,尽量将泛型'T'声明为抽象类或接口,然后通过动态的TypeInfo来绑定编解码类型。 EncoderType必须存在对应的TypeMeta- 指定者:
getEncoderType在接口中DsonCodec<T extends Enum<T>>
-
autoStartEnd
public boolean autoStartEnd()false 可以将枚举简单写为整数- 指定者:
autoStartEnd在接口中DsonCodec<T extends Enum<T>>
-
writeObject
从接口复制的说明:DsonCodec将对象写入输出流。 将对象及其所有超类定义的所有要序列化的字段写入输出流。注意: 1.name在外部已写入,因此基础类型写入value时name传null。 2.declaredType只影响外层类型信息是否写入,而不应向下传递。以字典为例,KV是否需要写入类型信息,取决于encoderType中的信息。
- 指定者:
writeObject在接口中DsonCodec<T extends Enum<T>>- 参数:
declaredType- 声明类型,用于判断是否写入类型信息style- 外部期望的输出格式
-
readObject
从接口复制的说明:DsonCodec从输入流中解析指定对象。 它应该创建对象,并反序列化该类及其所有超类定义的所有要序列化的字段。注意:name在外部已读取,因此基础类型读取value时name传null。
- 指定者:
readObject在接口中DsonCodec<T extends Enum<T>>- 参数:
factory- 实例工厂
-