All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.neko233.config233.reader.ConfigHandler.kt Maven / Gradle / Ivy

The newest version!
package com.neko233.config233.reader

import com.neko233.config233.reader.api.ExcludeFileApi
import com.neko233.config233.reader.dto.FrontEndConfigDto

/**
 * 配置处理器
 */
@JvmDefaultWithCompatibility
interface ConfigHandler {


    /**
     * 处理器类型
     */
    fun typeName(): String

    /**
     * 排除文件名的正则
     * /path/to/~$xxx.xlsx
     * 用于排除 Excel 等临时文件
     */
    fun excludeSimpleFileNameRegex(): Set {
        return emptySet()
    }

    /**
     * 读取配置并转为前端的数据列表
     *
     * @param configName 配置 simpleName
     * @param configFileFullPath 配置文件完整路径
     */
    fun readToFrontEndDataList(
        configName: String,
        configFileFullPath: String,
    ): FrontEndConfigDto

    /**
     * 读取配置 + 转换成 class object List
     *
     * @param clazz 配置对应的 class
     * @param configName 配置 simpleName
     * @param configFileFullPath 配置文件完整路径
     */
    fun  readConfigAndOrm(
        clazz: Class,
        configName: String,
        configFileFullPath: String,
    ): List

    /**
     * 处理热更新时的临时文件名 | 需要考虑可能保存后原本的名字
     */
    fun handleHotUpdateTempFileName(tempSimpleFileName: String): String {
        return tempSimpleFileName
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy