## 接口的使用
org.redkale.util.Creator

- 使用Creator的程序包
  程序包 | 说明
  --- | ---
  org.redkale.convert | 提供数据的序列化和反解析功能
  org.redkale.net.http | HTTP协议包,提供HTTP协议服务器
  org.redkale.net.sncp | SNCP协议包,提供SNCP协议服务器
  org.redkale.source | 数据源(数据库、缓存)操作包
  org.redkale.util | RedKale工具包

- - ### org.redkale.convert中Creator的使用

    声明为Creator的org.redkale.convert中的字段
    限定符和类型 | 字段和说明
    --- | ---
    `protected Creator<java.util.Collection<T>>` | CollectionDecoder.`creator`
    `protected Creator<java.util.Map<K,V>>` | MapDecoder.`creator`
    `protected Creator<T>` | ObjectDecoder.`creator`

    返回Creator的org.redkale.convert中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `<T> Creator<T>` | Factory.`findCreator(java.lang.Class<T> type)`
    `<T> Creator<T>` | Factory.`loadCreator(java.lang.Class<T> type)`

    参数类型为Creator的org.redkale.convert中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `<E> void` | Factory.`register(java.lang.Class<E> clazz, Creator<? extends E> creator)`

  - ### org.redkale.net.http中Creator的使用

    参数类型为Creator的org.redkale.net.http中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `static ObjectPool<Response>` | HttpResponse.`createPool(java.util.concurrent.atomic.AtomicLong creatCounter, java.util.concurrent.atomic.AtomicLong cycleCounter, int max, Creator<Response> creator)`

  - ### org.redkale.net.sncp中Creator的使用

    参数类型为Creator的org.redkale.net.sncp中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `static ObjectPool<Response>` | SncpResponse.`createPool(java.util.concurrent.atomic.AtomicLong creatCounter, java.util.concurrent.atomic.AtomicLong cycleCounter, int max, Creator<Response> creator)`

  - ### org.redkale.source中Creator的使用

    返回Creator的org.redkale.source中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `Creator<T>` | EntityInfo.`getCreator()`

  - ### org.redkale.util中Creator的使用

    返回Creator的org.redkale.util中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `static <T> Creator<T>` | Creator.`create(java.lang.Class<T> clazz)` 根据指定的class采用ASM技术生产Creator。

    参数类型为Creator的org.redkale.util中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | ObjectPool.`setCreator(Creator<T> creator)`

    参数类型为Creator的org.redkale.util中的构造器
    构造器和说明
    `ObjectPool(java.util.concurrent.atomic.AtomicLong creatCounter, java.util.concurrent.atomic.AtomicLong cycleCounter, int max, Creator<T> creator, java.util.function.Consumer<T> prepare, java.util.function.Predicate<T> recycler)`
    `ObjectPool(Creator<T> creator, java.util.function.Consumer<T> prepare, java.util.function.Predicate<T> recycler)`
    `ObjectPool(int max, Creator<T> creator, java.util.function.Consumer<T> prepare, java.util.function.Predicate<T> recycler)`