Community
Participate
Working Groups
}
if (res.isOpen()) {
if (JavaProject.hasJavaNature(res)) {
elementAdded(element, delta, rootInfo);
addToParentInfo(element);
currentDelta().opened(element);
this.state.updateRoots(element.getPath(), delta, this);
// refresh pkg fragment roots and caches of the project (and its dependents)
this.rootsToRefresh.add(element);
this.projectCachesToReset.add(element);
this.manager.indexManager.indexAll(res);
} else {
JavaModel javaModel = this.manager.getJavaModel();
boolean wasJavaProject = javaModel.findJavaProject(res) != null;
if (wasJavaProject) {
elementRemoved(element, delta, rootInfo);
close(element);
removeFromParentInfo(element);
currentDelta().closed(element);
this.manager.indexManager.discardJobs(element.getElementName());
this.manager.indexManager.removeIndexFamily(res.getFullPath());
buffer.append("PRIMARY RESOURCE"); //$NON-NLS-1$
prev = true;
if ((flags & IJavaElementDelta.F_OPENED) != 0) {
if (prev)
buffer.append(" | "); //$NON-NLS-1$
buffer.append("OPENED"); //$NON-NLS-1$
if ((flags & IJavaElementDelta.F_CLOSED) != 0) {
buffer.append("CLOSED"); //$NON-NLS-1$
return prev;
/**
* Returns true if the given java project delta could affect this type hierarchy
*/
private boolean isAffectedByJavaProject(IJavaElementDelta delta, IJavaElement element) {
switch (delta.getKind()) {
int kind = delta.getKind();
int flags = delta.getFlags();
kind = IJavaElementDelta.ADDED; // affected in the same way
kind = IJavaElementDelta.REMOVED; // affected in the same way
switch (kind) {
case IJavaElementDelta.ADDED :
try {
// if the added project is on the classpath, then the hierarchy has changed