2013-04-10 4 views
0

Eclipse 플러그인은 자원 변경 리스너를 사용하여 자원 변경 사항을 통지받을 수 있습니다.Eclipse PRE_DELETE 자원 변경 이벤트

프로젝트를 삭제할 때 리소스 변경 수신기에 알리고 IResourceChangeEvent가 전달됩니다. 아래 코드를 사용하면 이벤트 유형을 가져올 수 있습니다.

@Override 
public void resourceChanged(IResourceChangeEvent event) { 
    switch (event.getType()) { 
    case IResourceChangeEvent.PRE_DELETE: 
     // do something 
     break; 
    } 
} 

그러나 이클립스에서 프로젝트를 삭제할 때 사용자는 프로젝트를 파일 시스템이나 작업 영역에서만 삭제하도록 선택할 수 있습니다.

리소스 변경 수신기에서이 두 가지 경우를 구별 할 수있는 방법이 있습니까?

편집 : 내가하려는 것은 다음과 같습니다. B가 A에 의존하는 두 개의 프로젝트 A와 B가 있습니다. A가 삭제되면 B도 삭제되기를 원합니다. A가 파일 시스템에서 삭제되면 B도 파일 시스템에서 삭제되기를 원합니다.

답변

0

이유는 없습니다. 이클립스 플러그인은 작업 공간 자원 만 사용하고 알고 있어야합니다. 아키텍처 관점에서 볼 때 작업 영역 외부에는 아무 것도 없습니다. 이클립스 플러그인이 (내보내기/가져 오기 작업 외에) 파일을 가지고 뭔가를하고 있다면, 그것은 일반적으로 잘못되었다.

플러그인의 경우 IResources가 삭제되면 기본 파일이 삭제되는지 여부는 중요하지 않습니다.

+0

감사합니다. 질문을 편집하고 내가 성취하려는 것에 대한 자세한 정보를 추가했습니다. – nbilal