public abstract class Writer
extends java.lang.Object
详情见: https://redkale.org
限定符和类型 | 字段和说明 |
---|---|
protected boolean |
comma |
protected java.util.function.BiFunction<Attribute,java.lang.Object,java.lang.Object> |
fieldFunc |
protected java.lang.reflect.Type |
specify |
构造器和说明 |
---|
Writer() |
限定符和类型 | 方法和说明 |
---|---|
abstract boolean |
needWriteClassName()
是否需要写入类名, BSON需要, JSON不需要
|
protected boolean |
recycle() |
java.lang.reflect.Type |
specify()
返回specify
|
void |
specify(java.lang.reflect.Type value)
设置specify
|
abstract boolean |
tiny()
当tiny=true时, 字符串为空、boolean为false的字段值都会被跳过, 不会输出。
|
abstract int |
writeArrayB(int size,
Encodeable<Writer,java.lang.Object> componentEncoder,
java.lang.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 |
writeClassName(java.lang.String clazz)
写入类名
|
abstract void |
writeDouble(double value)
写入一个double值
|
abstract void |
writeFieldName(EnMember member)
输出一个字段名
|
abstract void |
writeFloat(float value)
写入一个float值
|
abstract void |
writeInt(int value)
写入一个int值
|
abstract void |
writeLong(long value)
写入一个long值
|
abstract int |
writeMapB(int size,
Encodeable<Writer,java.lang.Object> keyEncoder,
Encodeable<Writer,java.lang.Object> valueEncoder,
java.lang.Object obj)
输出一个Map前的操作
|
abstract void |
writeMapE()
输出一个Map后的操作
|
abstract void |
writeMapMark()
输出一个Map中key与value间的间隔符
|
abstract void |
writeNull()
输出null值
|
int |
writeObjectB(java.lang.Object obj)
输出一个对象前的操作
注: 覆盖此方法必须要先调用父方法 super.writeObjectB(obj);
|
abstract void |
writeObjectE(java.lang.Object obj)
输出一个对象后的操作
|
void |
writeObjectField(EnMember member,
java.lang.Object obj)
输出一个对象的某个字段
|
void |
writeObjectNull(java.lang.Class clazz)
输出一个为null的对象
|
abstract void |
writeShort(short value)
写入一个short值
|
abstract void |
writeSmallString(java.lang.String value)
写入无转义字符长度不超过255的字符串, 例如枚举值、字段名、类名字符串等 *
|
abstract void |
writeString(java.lang.String value)
写入一个String值
|
abstract void |
writeWrapper(StringWrapper value)
写入一个StringConvertWrapper值
|
protected boolean comma
protected java.lang.reflect.Type specify
protected java.util.function.BiFunction<Attribute,java.lang.Object,java.lang.Object> fieldFunc
public void specify(java.lang.reflect.Type value)
value
- Typeprotected boolean recycle()
public java.lang.reflect.Type specify()
public abstract boolean tiny()
public abstract void writeNull()
public abstract boolean needWriteClassName()
public abstract void writeClassName(java.lang.String clazz)
clazz
- 类名public int writeObjectB(java.lang.Object obj)
obj
- 写入的对象public final void writeObjectNull(java.lang.Class clazz)
clazz
- 对象的类名public void writeObjectField(EnMember member, java.lang.Object obj)
member
- 字段obj
- 写入的对象public abstract void writeObjectE(java.lang.Object obj)
obj
- 写入的对象public abstract int writeArrayB(int size, Encodeable<Writer,java.lang.Object> componentEncoder, java.lang.Object obj)
size
- 数组长度componentEncoder
- Encodeableobj
- 对象, 不一定是数组、Collection对象,也可能是伪Collection对象public abstract void writeArrayMark()
public abstract void writeArrayE()
public abstract int writeMapB(int size, Encodeable<Writer,java.lang.Object> keyEncoder, Encodeable<Writer,java.lang.Object> valueEncoder, java.lang.Object obj)
size
- map大小keyEncoder
- EncodeablevalueEncoder
- Encodeableobj
- 对象, 不一定是Map对象,也可能是伪Map对象public abstract void writeMapMark()
public abstract void writeMapE()
public abstract void writeFieldName(EnMember member)
member
- 字段的EnMember对象public abstract void writeBoolean(boolean value)
value
- boolean值public abstract void writeByte(byte value)
value
- byte值public abstract void writeByteArray(byte[] values)
values
- byte[]public abstract void writeChar(char value)
value
- char值public abstract void writeShort(short value)
value
- short值public abstract void writeInt(int value)
value
- int值public abstract void writeLong(long value)
value
- long值public abstract void writeFloat(float value)
value
- float值public abstract void writeDouble(double value)
value
- double值public abstract void writeSmallString(java.lang.String value)
value
- 非空且不含需要转义的字符的String值public abstract void writeString(java.lang.String value)
value
- String值public abstract void writeWrapper(StringWrapper value)
value
- StringConvertWrapper值