Install4j:将 AbstractInstallAction class 扩展到另一个抽象 class 并改为实现它

Install4j: extending AbstractInstallAction class to another abstract class and implementing that instead

对于我的应用程序要求,我需要我所有的动作 classes 每次执行一个动作时都做一些事情。我创建了一个新的摘要 class,它扩展了 AbstractInstallAction class,如下所示:

public abstract class AbstractInvestigatorInstallAction extends AbstractInstallAction {
private static final long serialVersionUID = -7004320241363920697L;

@Override
public boolean install(InstallerContext context) throws UserCanceledException {
    ActionReport report = investigate(context);
    return onFinish(context, report);
}

public abstract ActionReport investigate(Context context);

public abstract boolean onFinish(Context context, ActionReport report);
}

现在,假设我创建了一个自定义操作 class BlaInvestigation,它扩展了此 AbstractInvestigatorInstallAction 而不是 AbstractInstallAction。但是当我在 Install4j 项目中添加两个 classes 时,当我从 search action in custom code 中查找自定义操作时,我没有看到新操作 class BlaInvestigation,我没有找到它。我应该直接实现 InstallAction class 吗?创建本地 AbstractInstallAction 是否有效?

从 install4j 7.0 开始,自定义代码搜索对话框不会检查 class 层次结构。如果您向所有派生的 class 添加额外的 implements InstallAction,对话框将找到它们。