模块 org.redkale

类 Writer

  • 直接已知子类:
    JsonWriter, ProtobufWriter

    public abstract class Writer
    extends Object
    序列化的数据输出流

    详情见: https://redkale.org

    作者:
    zhangjx
    • 构造器详细资料

      • Writer

        public Writer()
    • 方法详细资料

      • 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 - Encoder
        value - 写入的字段对象
      • 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 - Encodeable
        obj - 对象, 不一定是数组、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 - Encodeable
        valueEncoder - Encodeable
        obj - 对象, 不一定是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 - EnMember
        fieldName - 字段名称
        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值