Eclipse插件开发:在内存中持久化数据
我正在开发一个Eclipse插件。它所做的是添加一个菜单选项,打开一个对话框。一些非常简单的东西,它正在工作。现在,我需要在打开Eclipse插件开发:在内存中持久化数据,eclipse,eclipse-plugin,Eclipse,Eclipse Plugin,我正在开发一个Eclipse插件。它所做的是添加一个菜单选项,打开一个对话框。一些非常简单的东西,它正在工作。现在,我需要在打开连接对话框之前从内存中检索标记的值,并在每次关闭对话框时再次保存它。我想会是这样的: 公共类ConnectHandler扩展了AbstractHandler{ @凌驾 公共对象执行(ExecutionEvent事件)引发ExecutionException{ IWorkbenchWindow=HandlerUtil.getActiveWorkbenchWindowChe
连接对话框
之前从内存中检索标记
的值,并在每次关闭对话框时再次保存它。我想会是这样的:
公共类ConnectHandler扩展了AbstractHandler{
@凌驾
公共对象执行(ExecutionEvent事件)引发ExecutionException{
IWorkbenchWindow=HandlerUtil.getActiveWorkbenchWindowChecked(事件);
ConnectDialog ConnectDialog=新建ConnectDialog(window.getShell());
//这里-从内存中获取值
String token=somekindofClipseSession.get(“my.company.token”);
connectDialog.setToken(令牌);
connectDialog.open();
token=connectDialog.getToken();
//此处-将值保存到内存
某种clipsesession.put(“my.company.token”,token);
返回null;
}
}
出于安全原因,必须将值保存到内存中,而不是保存到XML文件中。当然,如果用户关闭了Eclipse,那么可以忽略该值
我一直在找一个类似会议的东西,但我不知道我应该找什么。您能帮助我吗?最简单的方法是使用插件的Activator拥有的singleton类 所以在激活剂中
私人MySession会话;
public MySession getSession()
{
if(会话==null){
session=newmysession();
}
返回会议;
}
您可以在处理程序中引用它:
MySession session=Activator.getDefault().getSession();
其中,
Activator
是您的Activator类,MySession
是您编写用来保存会话数据的类。最简单的方法是使用插件的Activator拥有的单例类
所以在激活剂中
私人MySession会话;
public MySession getSession()
{
if(会话==null){
session=newmysession();
}
返回会议;
}
您可以在处理程序中引用它:
MySession session=Activator.getDefault().getSession();
其中,Activator
是您的Activator类,MySession
是您为保存会话数据而编写的类