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
}
}