责任链自动生成器

Chain of responsibility automatic generator

我有 8 个处理程序 class,有没有办法在 java 中动态创建链?

我的意思是,如果我现在有两个 classes:

处理程序A

处理程序B

处理链

HanddlerChain 将创建链,HandlerA->HandlerB,(使用循环从文件夹中读取所有 class 个名称)

当我添加 HandlerC 时,它会在没有任何交互的情况下自动添加,链变为 HandlerA->HandlerB->HandlerC。

-------------------------------------------- ----------

所以如果我有 String className = "HandlerA"

我使用私有字符串创建 HandlerA.class 实例的方式是什么?

    File folder = new File("JavaClassesPath");
    ArrayList<String> all = new ArrayList<>();
    for (final File fileEntry : folder.listFiles()) {
        if (!fileEntry.isDirectory()) {
            all.add(fileEntry.getName().substring(0, fileEntry.getName().lastIndexOf('.')));
        }
    }

    String className = "PackageName";

    for (String s: all) {
        if (!s.equals("AbstractClassName")) {
            Class<?> clazz = Class.forName(className + '.' + s);
            Constructor<?> ctor = clazz.getConstructor();
            Object object = ctor.newInstance();
            allHandlers.add((RequestHandler) object);
        }
    }

    for(int i=0; i<allHandlers.size()-1; i++){
        allHandlers.get(i).setNextHandler(allHandlers.get(i+1));
    }