gpt4 book ai didi

java - 通过扩展点从 eclipse 插件返回值?

转载 作者:行者123 更新时间:2023-11-29 06:07:00 25 4
gpt4 key购买 nike

我这里有一个指向接口(interface)的扩展点:

public interface IModelProcessor {

public void processModel(Object diagramModel);
}

因此,每个想要使用 Extensionppoint 的插件都必须提供一个带有 processModel(Object diagramModel) 的 IModelProcessor。我的问题是:

我现在如何从实现此扩展点的 eclipse 插件中获取返回值?我当然可以使用返回值,像这样:

public ReturnContainer processModel(Object diagramModel);

但由于并非每个插件都会提供返回值,所以我不得不制定约定,在这种情况下插件应该返回 null,在我看来这是相当肮脏的。你对此有何看法:

public void processModel(Object diagramModel, Observer returnObserver);

因此,每个想要传递返回值的插件都可以注册那个 Observer(当然,插件必须是 Observable)并调用它的更新方法。你怎么看?

最佳答案

这实际上取决于您希望合约的外观。总的来说,我觉得使用返回值比使用您提到的 Observer 选项更直观。通常我会使用返回值,并在发生错误时抛出异常。您还可以让每个插件都返回一个对象,即使该对象是“空的”。从插件返回值没有什么特别的,只要所有插件都可以访问您要返回的类。

关于java - 通过扩展点从 eclipse 插件返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8214487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com