package org.rocfish.dao

import io.vertx.core.json.JsonObject

/**
 * 选项目标对象
 */
interface OptionTarget<T> {
    /**
     * 接受收集器对选项目标的处理
     */
    fun accept(collector:OptionCollector, initCollectData:JsonObject? = null):OptionTarget<T>

    /**
     * 获取时机处理后的实际目标对象，例如sql语句的查询对象，mongo中的BasicDBObject等
     */
    fun getTarget():T

}