Eclipse 将对象作为参数传递给命令

Eclipse 将对象作为参数传递给命令,eclipse,eclipse-plugin,eclipse-rcp,Eclipse,Eclipse Plugin,Eclipse Rcp,我的eclipse插件中有两个命令。(上传并运行)。用户可以一个接一个地调用它们。因此,只有在上传命令完成后调用Run才有意义 由于upload命令可能需要一些时间,因此它将为实际执行安排WorkspaceJob。并在计划作业后立即返回 我想知道的是添加另一个名为“Upload and Run”的命令,该命令(令人惊讶地)应该首先上传,然后运行选择。因此,当上传命令中启动的WorkspaceJob完成时,必须通知它 因此,我想用一个额外的ijobchangelister参数化该命令,它将在调度W

我的eclipse插件中有两个命令。(上传并运行)。用户可以一个接一个地调用它们。因此,只有在上传命令完成后调用Run才有意义

由于upload命令可能需要一些时间,因此它将为实际执行安排WorkspaceJob。并在计划作业后立即返回

我想知道的是添加另一个名为“Upload and Run”的命令,该命令(令人惊讶地)应该首先上传,然后运行选择。因此,当上传命令中启动的
WorkspaceJob
完成时,必须通知它

因此,我想用一个额外的
ijobchangelister
参数化该命令,它将在调度
WorkspaceJob
时添加该命令

不幸的是,在我看来,只有将字符串作为参数传递给可以轻松转换为字符串的命令或对象才有可能。但是,这样的侦听器不能作为字符串传递

  • 如何为命令提供这样的侦听器对象
  • 是否有其他方法向命令提供侦听器对象(而不是将其作为prameter传递),但我没有想到
由于您的“上载并运行”操作将开始上载,因此您可以为运行操作安排另一个作业,该作业只需在执行任何其他操作之前对您拥有的工作区作业引用调用
join()

更新: 我认为您在那里遇到了框架的限制。这些命令旨在作为用户界面上的抽象,而不是完成任务的抽象。我只需要重用您拥有的Java代码,并直接从联合功能的按钮调用这两个操作的代码。

由于您的“上载并运行”操作将启动上载,因此您可以为运行操作安排另一个作业,该作业只需调用
join()
在执行任何其他操作之前,请先查看工作区作业参考

更新:
我认为您在那里遇到了框架的限制。这些命令旨在作为用户界面上的抽象,而不是完成任务的抽象。我只需要重用您拥有的Java代码,并从联合功能的按钮直接调用这两个操作的代码。

Upload and Run方法实际上只是调用“Upload”命令,该命令启动工作区作业以进行上载,因此我无法访问workspacejov引用。上载并运行方法实际上只是调用“上载”命令,该命令启动工作区作业以进行上载,因此我无法访问workspacejov引用。