我的 RCP 应用程序中有一个xml文件。我正在使用FormEditor
.
public class MyFormEditor extends FormEditor implements IResourceChangeListener{
public MyFormEditor(){
ResourcePlugin.getWorkspace.addResourceChangeListener(this);
...
}
@Override
public void resourceChanged(IResourceChangeEvent event){
int type = event.getType();
switch(type){
IResourceChangeEvent.PRE_DELETE:
IResourceChangeEvent.PRE_CLOSE:
this.close(true);
break;
IResourceChangeEvent.POST_CHANGE:
System.out.println("Resource is change.");
break;
default:
break;
}
}
@Override
public void dispose(){
ResourcePlugin.getWorkspace.removeResourceChangeListener(this);
super.dispose();
}
}
IResourceChange.POST_CHANGE
当我保存资源或从 SVN 存储库更新资源时触发事件。
下IResourceChange.POST_CHANGE
如何判断资源是从SVN更新的?
我尝试了以下事情,但它对我不起作用。
IResourceDelta delta = event.getDelta;
int flags = delta.getFlags();
boolean sync = (flags & IResourceDelta.SYNC) != 0;
if(sync){
System.out.println("Resource updated from server.");
}
如果您需要任何其他信息,请告诉我。