org.redkale.convert

## 类 ConvertFactory<R extends Reader,W extends Writer>

- java.lang.Object
- - org.redkale.convert.ConvertFactory<R,W>

- 类型参数:
    `R` - Reader输入的子类
    `W` - Writer输出的子类
  直接已知子类:
    BsonFactory, JsonFactory

      public abstract class ConvertFactory<R extends Reader,W extends Writer>
      extends java.lang.Object

  详情见: https://redkale.org

- - ### 字段概要

    字段
    限定符和类型 | 字段和说明
    --- | ---
    `protected Convert<R,W>` | `convert`
    `protected boolean` | `tiny`

  - ### 构造器概要

    构造器
    限定符 | 构造器和说明
    --- | ---
    `protected` | `ConvertFactory(ConvertFactory<R,W> parent, boolean tiny)`

  - ### 方法概要

    所有方法 实例方法 抽象方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `abstract ConvertFactory` | `createChild()`
    `abstract ConvertFactory` | `createChild(boolean tiny)`
    `<E> Decodeable<R,E>` | `createDecoder(java.lang.reflect.Type type)`
    `<E> Encodeable<W,E>` | `createEncoder(java.lang.reflect.Type type)`
    `<T> Creator<T>` | `findCreator(java.lang.Class<T> type)`
    `<E> Decodeable<R,E>` | `findDecoder(java.lang.reflect.Type type)`
    `<E> Encodeable<W,E>` | `findEncoder(java.lang.reflect.Type type)`
    `ConvertColumnEntry` | `findRef(java.lang.reflect.AccessibleObject element)`
    `<E> Encodeable<W,E>` | `getAnyEncoder()`
    `Convert` | `getConvert()`
    `abstract ConvertType` | `getConvertType()`
    `abstract boolean` | `isReversible()`
    `<T> Creator<T>` | `loadCreator(java.lang.Class<T> type)`
    `<E> Decodeable<R,E>` | `loadDecoder(java.lang.reflect.Type type)`
    `<E> Encodeable<W,E>` | `loadEncoder(java.lang.reflect.Type type)`
    `ConvertFactory` | `parent()`
    `<E> boolean` | `register(java.lang.reflect.AccessibleObject field, ConvertColumnEntry entry)`
    `<E> void` | `register(java.lang.Class<E> clazz, Creator<? extends E> creator)`
    `void` | `register(java.lang.Class type, boolean ignore, java.lang.String... columns)`
    `boolean` | `register(java.lang.Class type, java.lang.String column, ConvertColumnEntry entry)`
    `boolean` | `register(java.lang.Class type, java.lang.String column, java.lang.String alias)`
    `<E> void` | `register(java.lang.reflect.Type clazz, Decodeable<R,E> decoder)`
    `<E> void` | `register(java.lang.reflect.Type clazz, Encodeable<W,E> printer)`
    `<E> void` | `register(java.lang.reflect.Type clazz, SimpledCoder<R,W,E> coder)`
    `void` | `registerSkipAllIgnore(boolean skipIgnore)` 使所有类的所有被声明为ConvertColumn.ignore = true 的字段或方法变为ConvertColumn.ignore = false
    `void` | `registerSkipIgnore(java.lang.Class type)` 使该类所有被声明为ConvertColumn.ignore = true 的字段或方法变为ConvertColumn.ignore = false
    `void` | `reloadCoder(java.lang.reflect.Type type)`
    `void` | `reloadCoder(java.lang.reflect.Type type, java.lang.Class clazz)`
    `ConvertFactory<R,W>` | `skipAllIgnore(boolean skipIgnore)` 使所有类的所有被声明为ConvertColumn.ignore = true 的字段或方法变为ConvertColumn.ignore = false
    `ConvertFactory` | `tiny(boolean tiny)`

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

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

- - ### 字段详细资料

    - #### convert

          protected Convert<R extends Reader,W extends Writer> convert

    - #### tiny

          protected boolean tiny

  - ### 构造器详细资料

    - #### ConvertFactory

          protected ConvertFactory(ConvertFactory<R,W> parent,
                                   boolean tiny)

  - ### 方法详细资料

    - #### parent

          public ConvertFactory parent()

    - #### getConvertType

          public abstract ConvertType getConvertType()

    - #### isReversible

          public abstract boolean isReversible()

    - #### createChild

          public abstract ConvertFactory createChild()

    - #### createChild

          public abstract ConvertFactory createChild(boolean tiny)

    - #### getConvert

          public Convert getConvert()

    - #### tiny

          public ConvertFactory tiny(boolean tiny)

    - #### findRef

          public ConvertColumnEntry findRef(java.lang.reflect.AccessibleObject element)

    - #### registerSkipAllIgnore

          public final void registerSkipAllIgnore(boolean skipIgnore)

      使所有类的所有被声明为ConvertColumn.ignore = true 的字段或方法变为ConvertColumn.ignore = false
      参数:
        `skipIgnore` - 是否忽略Ignore注解

    - #### skipAllIgnore

          public ConvertFactory<R,W> skipAllIgnore(boolean skipIgnore)

      使所有类的所有被声明为ConvertColumn.ignore = true 的字段或方法变为ConvertColumn.ignore = false
      参数:
        `skipIgnore` - 忽略ignore
      返回:
        自身

    - #### registerSkipIgnore

          public final void registerSkipIgnore(java.lang.Class type)

      使该类所有被声明为ConvertColumn.ignore = true 的字段或方法变为ConvertColumn.ignore = false
      参数:
        `type` - 指定的类

    - #### register

          public final void register(java.lang.Class type,
                                     boolean ignore,
                                     java.lang.String... columns)

    - #### register

          public final boolean register(java.lang.Class type,
                                        java.lang.String column,
                                        java.lang.String alias)

    - #### register

          public final boolean register(java.lang.Class type,
                                        java.lang.String column,
                                        ConvertColumnEntry entry)

    - #### register

          public final <E> boolean register(java.lang.reflect.AccessibleObject field,
                                            ConvertColumnEntry entry)

    - #### reloadCoder

          public final void reloadCoder(java.lang.reflect.Type type)

    - #### reloadCoder

          public final void reloadCoder(java.lang.reflect.Type type,
                                        java.lang.Class clazz)

    - #### register

          public final <E> void register(java.lang.Class<E> clazz,
                                         Creator<? extends E> creator)

    - #### findCreator

          public final <T> Creator<T> findCreator(java.lang.Class<T> type)

    - #### loadCreator

          public final <T> Creator<T> loadCreator(java.lang.Class<T> type)

    - #### getAnyEncoder

          public final <E> Encodeable<W,E> getAnyEncoder()

    - #### register

          public final <E> void register(java.lang.reflect.Type clazz,
                                         SimpledCoder<R,W,E> coder)

    - #### register

          public final <E> void register(java.lang.reflect.Type clazz,
                                         Decodeable<R,E> decoder)

    - #### register

          public final <E> void register(java.lang.reflect.Type clazz,
                                         Encodeable<W,E> printer)

    - #### findDecoder

          public final <E> Decodeable<R,E> findDecoder(java.lang.reflect.Type type)

    - #### findEncoder

          public final <E> Encodeable<W,E> findEncoder(java.lang.reflect.Type type)

    - #### loadDecoder

          public final <E> Decodeable<R,E> loadDecoder(java.lang.reflect.Type type)

    - #### createDecoder

          public final <E> Decodeable<R,E> createDecoder(java.lang.reflect.Type type)

    - #### loadEncoder

          public final <E> Encodeable<W,E> loadEncoder(java.lang.reflect.Type type)

    - #### createEncoder

          public final <E> Encodeable<W,E> createEncoder(java.lang.reflect.Type type)