- java.lang.Object
-
- org.redkale.convert.Writer
-
- 直接已知子类:
JsonWriter
,ProtobufWriter
public abstract class Writer extends Object
序列化的数据输出流详情见: https://redkale.org
- 作者:
- zhangjx
-
-
字段概要
字段 修饰符和类型 字段 说明 protected boolean
comma
protected int
features
protected BiFunction<Object,Object,Object>
mapFieldFunc
protected Function<Object,ConvertField[]>
objExtFunc
protected BiFunction<Attribute,Object,Object>
objFieldFunc
protected Type
specificObjectType
-
构造器概要
构造器 构造器 说明 Writer()
-
方法概要
所有方法 实例方法 抽象方法 具体方法 修饰符和类型 方法 说明 int
getFeatures()
获取配置属性protected boolean
nullable()
protected boolean
recycle()
Type
specificObjectType()
返回specificObjectTypevoid
specificObjectType(Type value)
设置specificObjectTypeprotected boolean
tiny()
Writer
withFeatures(int features)
abstract void
writeArrayB(int size, Encodeable componentEncoder, Object obj)
输出一个数组前的操作abstract void
writeArrayE()
输出一个数组后的操作abstract void
writeArrayMark()
输出数组元素间的间隔符abstract void
writeBoolean(boolean value)
写入一个boolean值abstract void
writeByte(byte value)
写入一个byte值abstract void
writeByteArray(byte[] values)
写入byte[]abstract void
writeChar(char value)
写入一个char值abstract void
writeDouble(double value)
写入一个double值void
writeField(EnMember member)
输出一个字段名abstract void
writeField(EnMember member, String fieldName, Type fieldType, int fieldPos)
输出一个字段名abstract void
writeFloat(float value)
写入一个float值abstract void
writeInt(int value)
写入一个int值abstract void
writeLong(long value)
写入一个long值abstract void
writeMapB(int size, Encodeable keyEncoder, Encodeable valueEncoder, Object obj)
输出一个Map前的操作abstract void
writeMapE()
输出一个Map后的操作abstract void
writeMapMark()
输出一个Map中key与value间的间隔符abstract void
writeNull()
输出null值void
writeObjectB(Object obj)
输出一个对象前的操作 注: 覆盖此方法必须要先调用父方法 super.writeObjectB(obj);abstract void
writeObjectE(Object obj)
输出一个对象后的操作void
writeObjectField(String fieldName, Type fieldType, int fieldPos, Encodeable anyEncoder, Object value)
输出一个对象的某个扩展字段void
writeObjectField(EnMember member, Object obj)
输出一个对象的某个字段void
writeObjectNull(Class clazz)
输出一个为null的对象abstract void
writeShort(short value)
写入一个short值abstract void
writeStandardString(String value)
写入无转义字符长度不超过255的字符串, 例如枚举值、字段名、类名字符串等 *abstract void
writeString(String value)
写入一个String值abstract void
writeWrapper(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值
-
-