0
是否使用IPreferenceStore
正确的方式来存储少数经常访问的用于绘制视图的java对象?我想为我的RCP应用程序提供类似“自定义应用程序缓存”的内容在eclipse rcp应用程序中存储会话数据
是否使用IPreferenceStore
正确的方式来存储少数经常访问的用于绘制视图的java对象?我想为我的RCP应用程序提供类似“自定义应用程序缓存”的内容在eclipse rcp应用程序中存储会话数据
IPreferenceStore
用于存储首选项!通常情况下,你只会在这里存储将出现在首选项页面上的东西 - 尽管没有什么可以强制执行此操作。
更多通用存储设备使用Platform.getStateLocation(bundle)
获得工作区.metadata
您的插件可以存储它希望的任何信息的位置:
Bundle bundle = Platform.getBundle("your-plugin-id");
IPath stateLocPath = Platform.getStateLocation(bundle);
stateLocPath
将是一个目录(通常workspace-path/.metadata/.plugins/your-plugin-id
)。由您的插件管理存储在此目录中的文件。
如果您不需要跨会话持久保存对象,那么您可以在插件Activator
中使用常规Java结构(如列表或地图)作为字段。
感谢您的回答我的问题。为了清楚理解,你能详细说明一下吗? – ssdimmanuel
这样做我假设我需要使用文件来存储和检索数据。但与IPath相关的API是否支持存储和检索键值对?快速搜索将“LinkedHashMap”作为轻量级内存中缓存返回。但是,这可以通过Perspevtive开关访问吗? – ssdimmanuel