JDT コア・プラグインは、Java エレメントのプログラマチックな作成、削除、 および変更を行うことができるようにする API を提供します。 JDT コアが提供する API の概要については、『Java コードの操作』を参照してください。
Java モデルでの重要な概念は、「作業用コピー」(IWorkingCopy) と呼ばれる、コンパイル単位のメモリー内コピーの使用です。 作業用コピーを使用すると、 基礎となるリソースに変更をコミットする前にコンパイル単位をプログラマチックに変更できます。
Java ユーザー・インターフェースでは、並列の概念によって、ユーザーは、 作業用コピーをファイル・システムにコミットする前にリソースを広範囲に渡って編集することが可能です。 コピーを使用すると、UI インプリメンテーションによって、ユーザーは Java エディターの内容をディスクに保管するか、または元の内容に戻すことができます。
IWorkingCopyManager は、エディター内で使用される Java コンパイル単位の作業用コピーを管理します。 エディター内のコンパイル単位を変更したいとき、 エディターの入力エレメントを作業用コピー・マネージャーに接続することで作業用コピーを取得する必要があります。 編集は、作業用コピーに対して行われます。
次は、コンパイル単位エディターでの作業用コピー・マネージャーの使用を示すコードの断片です。
void modifyCompilationUnit(ICompilationUnit cunit) throws PartInitException, CoreException { IEditorPart editor= JavaUI.openInEditor(cunit); IEditorInput input= editor.getEditorInput(); IWorkingCopyManager manager= JavaUI.getWorkingCopyManager(); manager.connect(input); try { ICompilationUnit workingCopy= manager.getWorkingCopy(input); // do the modifications on workingCopy using the normal JDT Core API. } finally { manager.disconnect(input); } // either keep the editor dirty or use editor.doSave(IProgressMonitor monitor) // to save the changes programmatically. }