package org.rocfish.dao

import kotlin.reflect.KClass

/**
 * 获取选项目标的工厂
 */
interface OptionTargetFactory {

    companion object {
        const val SORT_FIELD_OPTION = "SORT"
        const val LIMT_FILED_OPTION = "LIMIT"
        const val SKIP_FILED_OPTION = "SKIP"
        const val BOOKMARK_CONDITION = "MARKCONDITIONS" //书签排序条件，指定field
        const val FIX_FIELD_OPTION = "SELECT_FIELDS" //指定查询的字段列表
    }

    /**
     * 获取选项目标
     */
    fun <T> getTarget(clazz: KClass<*>):OptionTarget<T>
}