org.redkale.convert

## 类 Writer

- java.lang.Object
- - org.redkale.convert.Writer

- 直接已知子类:
    BsonWriter, JsonWriter

      public abstract class Writer
      extends java.lang.Object

  详情见: http://www.redkale.org

- - ### 字段概要

    字段
    限定符和类型 | 字段和说明
    --- | ---
    `protected boolean` | `comma`

  - ### 构造器概要

    构造器
    构造器和说明
    `Writer()`

  - ### 方法概要

    所有方法 实例方法 抽象方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `abstract boolean` | `tiny()` 当tiny=true时， 字符串为空、boolean为false的字段值都会被跳过， 不会输出。
    `abstract void` | `wirteClassName(java.lang.String clazz)` 写入类名
    `abstract void` | `writeArrayB(int size)` 输出一个数组前的操作
    `abstract void` | `writeArrayE()` 输出一个数组后的操作
    `abstract void` | `writeArrayMark()` 输出数组元素间的间隔符
    `abstract void` | `writeBoolean(boolean value)` 写入一个boolean值
    `abstract void` | `writeByte(byte value)` 写入一个byte值
    `abstract void` | `writeChar(char value)` 写入一个char值
    `abstract void` | `writeDouble(double value)` 写入一个double值
    `abstract void` | `writeFieldName(Attribute attribute)` 输出一个字段名
    `abstract void` | `writeFloat(float value)` 写入一个float值
    `abstract void` | `writeInt(int value)` 写入一个int值
    `abstract void` | `writeLong(long value)` 写入一个long值
    `abstract void` | `writeMapB(int size)` 输出一个Map前的操作
    `abstract void` | `writeMapE()` 输出一个Map后的操作
    `abstract void` | `writeMapMark()` 输出一个Map中key与value间的间隔符
    `abstract void` | `writeNull()` 输出null值
    `void` | `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值

    - ### 从类继承的方法 java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 字段详细资料

    - #### comma

          protected boolean comma

  - ### 构造器详细资料

    - #### Writer

          public Writer()

  - ### 方法详细资料

    - #### tiny

          public abstract boolean tiny()

      当tiny=true时， 字符串为空、boolean为false的字段值都会被跳过， 不会输出。
      返回:
        是否简化

    - #### writeNull

          public abstract void writeNull()

      输出null值

    - #### wirteClassName

          public abstract void wirteClassName(java.lang.String clazz)

      写入类名
      参数:
        `clazz` - 类名

    - #### writeObjectB

          public void writeObjectB(java.lang.Object obj)

      输出一个对象前的操作 注： 覆盖此方法必须要先调用父方法 super.writeObjectB(obj);
      参数:
        `obj` - 写入的对象

    - #### writeObjectNull

          public final void writeObjectNull(java.lang.Class clazz)

      输出一个为null的对象
      参数:
        `clazz` - 对象的类名

    - #### writeObjectField

          public final void writeObjectField(EnMember member,
                                             java.lang.Object obj)

      输出一个对象的某个字段
      参数:
        `member` - 字段
        `obj` - 写入的对象

    - #### writeObjectE

          public abstract void writeObjectE(java.lang.Object obj)

      输出一个对象后的操作
      参数:
        `obj` - 写入的对象

    - #### writeArrayB

          public abstract void writeArrayB(int size)

      输出一个数组前的操作
      参数:
        `size` - 数组长度

    - #### writeArrayMark

          public abstract void writeArrayMark()

      输出数组元素间的间隔符

    - #### writeArrayE

          public abstract void writeArrayE()

      输出一个数组后的操作

    - #### writeMapB

          public abstract void writeMapB(int size)

      输出一个Map前的操作
      参数:
        `size` - map大小

    - #### writeMapMark

          public abstract void writeMapMark()

      输出一个Map中key与value间的间隔符

    - #### writeMapE

          public abstract void writeMapE()

      输出一个Map后的操作

    - #### writeFieldName

          public abstract void writeFieldName(Attribute attribute)

      输出一个字段名
      参数:
        `attribute` - 字段的Attribute对象

    - #### writeBoolean

          public abstract void writeBoolean(boolean value)

      写入一个boolean值
      参数:
        `value` - boolean值

    - #### writeByte

          public abstract void writeByte(byte value)

      写入一个byte值
      参数:
        `value` - 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值

    - #### writeSmallString

          public abstract void writeSmallString(java.lang.String value)

      写入无转义字符长度不超过255的字符串， 例如枚举值、字段名、类名字符串等 *
      参数:
        `value` - 非空且不含需要转义的字符的String值

    - #### writeString

          public abstract void writeString(java.lang.String value)

      写入一个String值
      参数:
        `value` - String值