Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java XMLMultiPageEditorPart文档_Java_Overriding_Eclipse Rcp - Fatal编程技术网

Java XMLMultiPageEditorPart文档

Java XMLMultiPageEditorPart文档,java,overriding,eclipse-rcp,Java,Overriding,Eclipse Rcp,我正在尝试重写XMLMultiPageEditorPart的方法doSave()。关键是将数据保存在temp文件中,用XSD进行验证,如果成功,则启动super.doSave()方法。但是getDocument()方法是不可见的。如何将文档手动保存到预定义位置 public class TPXMLEditor extends XMLMultiPageEditorPart { public static final String ID = "com.companyname.somemanager.

我正在尝试重写XMLMultiPageEditorPart的方法doSave()。关键是将数据保存在temp文件中,用XSD进行验证,如果成功,则启动super.doSave()方法。但是getDocument()方法是不可见的。如何将文档手动保存到预定义位置

public class TPXMLEditor extends XMLMultiPageEditorPart {
public static final String ID = "com.companyname.somemanager.gui.editors.TPXMLEditor";
   @Override
   public void doSave(IProgressMonitor monitor) {
      /* Some implementation */ 
   }
}

看起来您应该能够使用
getAdapter
方法:

IDocument doc = (IDocument)getAdapter(IDocument.class);

XMLMultiPageEditorPart
位于内部软件包中,因此不是官方API的一部分,可能会在不通知的情况下进行更改。

因此,通过重写外部软件包中的类,我可以违反一些许可证限制?不,我认为许可证是可以的,只是Eclipse设计者并不打算重写这个类。您可能会发现该类在服务发布时发生了更改,并且停止工作。请参阅本文:谢谢,在这种情况下,我应该寻找预保存验证的替代解决方案,而无需修改编辑器类。