Eclipse rcp e4 selectionservice-列表或单个对象和适配器

Eclipse rcp e4 selectionservice-列表或单个对象和适配器,eclipse-rcp,rcp,e4,Eclipse Rcp,Rcp,E4,我有一个关于e4 selectionservice的“最佳实践”的问题 1) 处理单个和多个选择 例如,在tableviewer上,我可以选择单个或多个元素。根据这一点,我的活动选择是一个对象或一组对象 在我的听众中,处理这个问题的最佳实践是什么 ..selectionService.setSelection(structuredSelection.getFirstElement()) 或 ..selectionService.setSelection(structuredSelection.a

我有一个关于e4 selectionservice的“最佳实践”的问题

1) 处理单个和多个选择

例如,在tableviewer上,我可以选择单个或多个元素。根据这一点,我的活动选择是一个对象或一组对象

在我的听众中,处理这个问题的最佳实践是什么

..selectionService.setSelection(structuredSelection.getFirstElement())

..selectionService.setSelection(structuredSelection.asList())

public void xy(@Optional@Named(IServiceConstants.ACTIVE_选择) 列表选择){}-->如果选择单个元素,则选择为空

public void xyz(@Optional@Named(IServiceConstants.ACTIVE_SELECTION)MyObject SELECTION){}-->如果选择了多个元素,则选择为空

我是否需要实现这两种方法来处理这两种情况?为什么列表中没有单个元素,反之亦然

(二) 如何处理可适应目标对象的活动选择? 我是否需要使用ISelection参数并手动检查自适应,或者如果可能,框架是否有任何方法可以自适应和注入


提前感谢

正常选择是实际的IStructuredSelection对象,不是其内容:

selectionService.setSelection(structuredSelection);
public void xx(@Named(IServiceConstants.ACTIVE_SELECTION)IStructuredSelection)
因此,您只有一个方法,它接收所有类型的选择

对于适应性强的对象,没有什么能自动做到这一点。使用
org.eclipse.core.runtime.Adapters
类调整对象:

IFile file=Adapters.adapt(对象,IFile.class);

在Eclipse4选择服务的上下文中,这是一个完全合理的问题,并且不太广泛。