| Eclipseプラグインのプロジェクトにて、プロジェクトの削除のタイミングどうやってとるんだろぅ?とソースを眺めていたら、 WorkspaceのaddLifecycleListenerのリスナーでとることが出来ました。 ILifecycleListener lifecycleListener = new ILifecycleListener() { LifecycleEvent.kind にはpublic void handleEvent(LifecycleEvent event) throws CoreException { if (event.kind == LifecycleEvent.PRE_PROJECT_DELETE && event.resource == getProject()) { //プロジェクト削除時の処理 } } }; ((Workspace)getProject().getWorkspace()).addLifecycleListener(lifecycleListener); public static final int PRE_PROJECT_CLOSE = 0x01; public static final int PRE_PROJECT_CHANGE = 0x02; public static final int PRE_PROJECT_COPY = 0x04; public static final int PRE_PROJECT_CREATE = 0x08; public static final int PRE_PROJECT_DELETE = 0x10; public static final int PRE_PROJECT_OPEN = 0x20; public static final int PRE_PROJECT_MOVE = 0x40; public static final int PRE_LINK_COPY = 0x100; public static final int PRE_LINK_CREATE = 0x200; public static final int PRE_LINK_DELETE = 0x400; public static final int PRE_LINK_MOVE = 0x800; ってのが入ってくるようななので、作成、移動、コピーもろもろ・・・取れてくることが出来るってことかな。
リスナーを追加するところがWorkspaceなので、project単位の場合には どのプロジェクトか・・・判断する必要があります。
あと、このリスナーのremoveのメソッドが見つからず。 |