1

我正在开发一个组件,它基于 java 类中的模板生成代码。该项目使用clearcase作为SCM。代码更新后,文件处于只读状态。如果我要向任何 java 类添加任何内容,我必须让它劫持并将源代码模板粘贴到类中。让我们假设用于添加评论的 jAutoDoc 插件。如果用户选择一个类,单击生成评论。如果文件未处于写入模式,则不会粘贴注释。

Clearcase 插件供应商:IBM Rational。

Eclipse 版本:3.5

请帮忙。有没有办法从java代码中劫持文件?

提前致谢..

4

2 回答 2

1

谢谢VonC。

用于通过 eclipse JDT API 以写入模式制作 java 文件。此方法会将资源的首选项“只读”设置为“false”。

private static void setCompilationUnitWriteMode(ICompilationUnit cu) throws CoreException {

        ResourceAttributes resourceAttributes = cu.getResource().getResourceAttributes();

        if (resourceAttributes != null) {
              // Setting Writemode true
            resourceAttributes.setReadOnly(false);
        cu.getResource().setResourceAttributes(resourceAttributes);
    }
  }

对于非 Java 资源

首先创建 IFile 对象,将资源的首选项“只读”设置为“false”。

       IFile file = path.getFile() 

        file.getFile().getResourceAttributes();

        if (resourceAttributes != null) {
            resourceAttributes.setReadOnly(false);
            file.setResourceAttributes(resourceAttributes);
        }
于 2012-11-26T12:43:55.623 回答
0

劫持文件仅意味着通过基于操作系统的操作使它们读写。(仅适用于快照视图,不适用于动态视图)

但问题是:您是否需要对您的插件完成的类进行版本控制?
因为在那种情况下,acleartool checkout更合适。

否则,读写就足够了,通过 java 改变文件属性

于 2012-10-15T04:57:23.577 回答