私はEclipseJDTを使用してJavaリファクタリングプラットフォームを構築しています。これは、メモリ内のさまざまなリファクタリングを選択して保存する前に調査するためのものです。ソースファイルの作業コピーのコレクションを作成し、それらをメモリ内で編集し、JDTフレームワークを使用して変更をディスクにコミットできます。
ただし、リファクタリングの一部としてメモリ内に新しい「作業コピー」ソースファイルを生成し、作業コピーをコミットした場合にのみ、対応する実際のソースファイルを作成したいと思います。これが可能であるというさまざまなヒントを見てきました。たとえば、 http ://www.jarvana.com/jarvana/view/org/eclipse/jdt/doc/isv/3.3.0-v20070613/isv-3.3.0-v20070613.jar !/guide/jdt_api_manip.htmには、「作業コピーを作成するために、コンパイル単位がJavaモデルに存在する必要はないことに注意してください」と記載されています。
これまでのところ、私は新しい実ファイルを作成することしかできませんでした。
ICompilationUnit newICompilationUnit = myPackage.createCompilationUnit(newName, "package piffle; public class Baz{private int i=0;}", false, null);
これは私が望むものではありません。コミットするまでファイルシステムに表示されない、新しい「作業コピー」ソースファイルを作成する方法を知っている人はいますか?または同じことを達成するための他のメカニズムはありますか?