2012-03-24 15 views
2

Eclipseでパラメータ化コマンドのパラメータを取得する私たちは、これを行うことができます。)私はこのハンドラを作った、と私はfindPart(のための部品IDをしたいのEclipse 4.2で のEclipse 3.7ではRCP 4.2

public class HelloName extends AbstractHandler { 

    @Override 
    public Object execute(ExecutionEvent event) throws ExecutionException { 
     String name = event 
       .getParameter("de.vogella.rcp.commands.parameterfirst.commandParameter1"); 
     MessageDialog.openInformation(HandlerUtil.getActiveShell(event), 
       "Hello", "Hello " + name); 
     return null; 
    } 
} 

のように与えられる

パラメータはどこから取得できますか?

public class FocusHandler { 

    @Execute 
    public void execute(EPartService partService) { 
     MPart part = partService.findPart("nl.rh.parts.inbox"); 
     partService.activate(part, true); 
    } 
} 

答えて

4

私自身の質問に対する答えが見つかりました。重要なことは、依存関係注入を伴う@Namedアノテーションを利用することです。

@Execute 
public void execute(EPartService partService, @Optional @Named("nl.rh.focusCommand.part") String partName) { 
    MPart part = partService.findPart(partName); 
    partService.activate(part, true); 
} 

@Namedアノテーションには、コマンドパラメータのIDを指定する必要があります。