package com.yeejoin.amos.boot.module.jg.biz.edit.core;

import com.yeejoin.amos.boot.module.common.api.dto.IBaseChangeData;
import org.reflections.Reflections;

import java.util.HashSet;
import java.util.Set;

public class SubClassFinder {
    private static final Set<Class<? extends IBaseChangeData>> subClasses;

    static {
        //▼ 指定扫描包路径（根据实际项目调整）
        Reflections reflections = new Reflections("com.yeejoin.amos.boot.module.jg.api.dto", "com.yeejoin.amos.boot.module.ymt.api.entity");
        //▼ 获取所有继承BaseChangeDataDto的类
        subClasses = reflections.getSubTypesOf(IBaseChangeData.class);
    }

    public static Set<Class<? extends IBaseChangeData>> getAllSubClasses() {
        return new HashSet<>(subClasses);
    }
}
