- java.lang.Object
-
- org.redkale.convert.Writer
-
- 直接已知子类:
JsonWriter,ProtobufWriter
public abstract class Writer extends Object
序列化的数据输出流详情见: https://redkale.org
- 作者:
- zhangjx
-
-
字段概要
字段 修饰符和类型 字段 说明 protected booleancommaprotected intfeaturesprotected BiFunction<Object,Object,Object>mapFieldFuncprotected Function<Object,ConvertField[]>objExtFuncprotected BiFunction<Attribute,Object,Object>objFieldFuncprotected TypespecificObjectType
-
构造器概要
构造器 构造器 说明 Writer()
-
方法概要
所有方法 实例方法 抽象方法 具体方法 修饰符和类型 方法 说明 intgetFeatures()获取配置属性protected booleannullable()protected booleanrecycle()TypespecificObjectType()返回specificObjectTypevoidspecificObjectType(Type value)设置specificObjectTypeprotected booleantiny()WriterwithFeatures(int features)abstract voidwriteArrayB(int size, Encodeable componentEncoder, Object obj)输出一个数组前的操作abstract voidwriteArrayE()输出一个数组后的操作abstract voidwriteArrayMark()输出数组元素间的间隔符abstract voidwriteBoolean(boolean value)写入一个boolean值abstract voidwriteByte(byte value)写入一个byte值abstract voidwriteByteArray(byte[] values)写入byte[]abstract voidwriteChar(char value)写入一个char值abstract voidwriteDouble(double value)写入一个double值voidwriteField(EnMember member)输出一个字段名abstract voidwriteField(EnMember member, String fieldName, Type fieldType, int fieldPos)输出一个字段名abstract voidwriteFloat(float value)写入一个float值abstract voidwriteInt(int value)写入一个int值abstract voidwriteLong(long value)写入一个long值abstract voidwriteMapB(int size, Encodeable keyEncoder, Encodeable valueEncoder, Object obj)输出一个Map前的操作abstract voidwriteMapE()输出一个Map后的操作abstract voidwriteMapMark()输出一个Map中key与value间的间隔符abstract voidwriteNull()输出null值voidwriteObjectB(Object obj)输出一个对象前的操作 注: 覆盖此方法必须要先调用父方法 super.writeObjectB(obj);abstract voidwriteObjectE(Object obj)输出一个对象后的操作voidwriteObjectField(String fieldName, Type fieldType, int fieldPos, Encodeable anyEncoder, Object value)输出一个对象的某个扩展字段voidwriteObjectField(EnMember member, Object obj)输出一个对象的某个字段voidwriteObjectNull(Class clazz)输出一个为null的对象abstract voidwriteShort(short value)写入一个short值abstract voidwriteStandardString(String value)写入无转义字符长度不超过255的字符串, 例如枚举值、字段名、类名字符串等 *abstract voidwriteString(String value)写入一个String值abstract voidwriteWrapper(StringWrapper value)写入一个StringConvertWrapper值
-
-
-
字段详细资料
-
comma
protected boolean comma
-
specificObjectType
protected Type specificObjectType
-
mapFieldFunc
protected BiFunction<Object,Object,Object> mapFieldFunc
-
objFieldFunc
protected BiFunction<Attribute,Object,Object> objFieldFunc
-
objExtFunc
protected Function<Object,ConvertField[]> objExtFunc
-
features
protected int features
-
-
方法详细资料
-
specificObjectType
public void specificObjectType(Type value)
设置specificObjectType- 参数:
value- Type
-
recycle
protected boolean recycle()
-
specificObjectType
public Type specificObjectType()
返回specificObjectType- 返回:
- int
-
getFeatures
public final int getFeatures()
获取配置属性- 返回:
- int
-
withFeatures
public Writer withFeatures(int features)
-
tiny
protected final boolean tiny()
-
nullable
protected final boolean nullable()
-
writeNull
public abstract void writeNull()
输出null值
-
writeObjectNull
@ClassDepends public final void writeObjectNull(Class clazz)
输出一个为null的对象- 参数:
clazz- 对象的类名
-
writeObjectField
public void writeObjectField(EnMember member, Object obj)
输出一个对象的某个字段- 参数:
member- 字段obj- 写入的对象
-
writeObjectField
public void writeObjectField(String fieldName, Type fieldType, int fieldPos, Encodeable anyEncoder, Object value)
输出一个对象的某个扩展字段- 参数:
fieldName- 字段名称fieldType- 字段类型fieldPos- 字段顺序anyEncoder- Encodervalue- 写入的字段对象
-
writeField
public void writeField(EnMember member)
输出一个字段名- 参数:
member- 字段
-
writeObjectB
public void writeObjectB(Object obj)
输出一个对象前的操作 注: 覆盖此方法必须要先调用父方法 super.writeObjectB(obj);- 参数:
obj- 写入的对象
-
writeObjectE
public abstract void writeObjectE(Object obj)
输出一个对象后的操作- 参数:
obj- 写入的对象
-
writeArrayB
public abstract void writeArrayB(int size, Encodeable componentEncoder, Object obj)输出一个数组前的操作- 参数:
size- 数组长度componentEncoder- Encodeableobj- 对象, 不一定是数组、Collection对象,也可能是伪Collection对象
-
writeArrayMark
public abstract void writeArrayMark()
输出数组元素间的间隔符
-
writeArrayE
public abstract void writeArrayE()
输出一个数组后的操作
-
writeMapB
public abstract void writeMapB(int size, Encodeable keyEncoder, Encodeable valueEncoder, Object obj)输出一个Map前的操作- 参数:
size- map大小keyEncoder- EncodeablevalueEncoder- Encodeableobj- 对象, 不一定是Map对象,也可能是伪Map对象
-
writeMapMark
public abstract void writeMapMark()
输出一个Map中key与value间的间隔符
-
writeMapE
public abstract void writeMapE()
输出一个Map后的操作
-
writeField
public abstract void writeField(EnMember member, String fieldName, Type fieldType, int fieldPos)
输出一个字段名- 参数:
member- EnMemberfieldName- 字段名称fieldType- 字段类型fieldPos- 字段顺序
-
writeBoolean
public abstract void writeBoolean(boolean value)
写入一个boolean值- 参数:
value- boolean值
-
writeByte
public abstract void writeByte(byte value)
写入一个byte值- 参数:
value- byte值
-
writeByteArray
public abstract void writeByteArray(byte[] values)
写入byte[]- 参数:
values- byte[]
-
writeChar
public abstract void writeChar(char value)
写入一个char值- 参数:
value- char值
-
writeShort
public abstract void writeShort(short value)
写入一个short值- 参数:
value- short值
-
writeInt
public abstract void writeInt(int value)
写入一个int值- 参数:
value- int值
-
writeLong
public abstract void writeLong(long value)
写入一个long值- 参数:
value- long值
-
writeFloat
public abstract void writeFloat(float value)
写入一个float值- 参数:
value- float值
-
writeDouble
public abstract void writeDouble(double value)
写入一个double值- 参数:
value- double值
-
writeStandardString
public abstract void writeStandardString(String value)
写入无转义字符长度不超过255的字符串, 例如枚举值、字段名、类名字符串等 *- 参数:
value- 非空且不含需要转义的字符的String值
-
writeString
public abstract void writeString(String value)
写入一个String值- 参数:
value- String值
-
writeWrapper
public abstract void writeWrapper(StringWrapper value)
写入一个StringConvertWrapper值- 参数:
value- StringConvertWrapper值
-
-