2017-05-11 36 views
0

私はEclipseプラグインを開発しています。それは、ダイアログを開くメニューオプションを追加することです。非常に単純な何か、それは働いている。今、ConnectDialogを開く前にメモリからtokenの値を取得し、ダイアログが閉じられるたびに再度保存する必要があります。Eclipseプラグイン開発:データをメモリに保存

public class ConnectHandler extends AbstractHandler { 

    @Override 
    public Object execute(ExecutionEvent event) throws ExecutionException { 
     IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event); 

     ConnectDialog connectDialog = new ConnectDialog(window.getShell()); 

     // HERE - get value from memory 
     String token = someKindOfEclipseSession.get("my.company.token"); 

     connectDialog.setToken(token); 
     connectDialog.open(); 
     token = connectDialog.getToken(); 

     // HERE - save value to memory 
     someKindOfEclipseSession.put("my.company.token", token); 

     return null; 
    } 
} 

それは価値がセキュリティ上の理由から、メモリにしていないXMLファイルに保存することが重要だ。私はそれがこのようなものになります想像してみてください。もちろん、ユーザーがEclipseを終了した場合は、値を忘れても構いません。

私はセッションのようなものを探していましたが、私は何を探すべきか分かりません。助けてもらえますか?

答えて

2

最も簡単なことは、プラグインのアクティベータが所有するシングルトンクラスを使用することです。

Activatorは、アクティベータクラスであり、 MySessionはあなたがセッションを保持するために書き、クラスである
MySession session = Activator.getDefault().getSession(); 

:アクティベーター

private MySession session; 

public MySession getSession() 
{ 
    if (session == null) { 
    session = new MySession(); 
    } 

    return session; 
} 

そして、あなたとあなたのハンドラでそれを参照してそう

データ。

+0

完全に機能しました。ありがとう! – JonDoe297

関連する問題