import net.sourceforge.phpdt.core.IJavaElement;
import net.sourceforge.phpdt.core.IJavaElementDelta;
-import net.sourceforge.phpdt.core.IJavaProject;
import org.eclipse.core.resources.IResourceDelta;
/**
* @see IJavaElementDelta
*/
-public class JavaElementDelta implements IJavaElementDelta {
+public class JavaElementDelta extends SimpleDelta implements IJavaElementDelta {
/**
* The element that this delta describes the change to.
* @see #getElement()
}
}
}
+///**
+// * Creates the nested deltas resulting from an add operation.
+// * Convenience method for creating add deltas.
+// * The constructor should be used to create the root delta
+// * and then an add operation should call this method.
+// */
+//public void added(IJavaElement element) {
+// JavaElementDelta addedDelta = new JavaElementDelta(element);
+// addedDelta.fKind = ADDED;
+// insertDeltaTree(element, addedDelta);
+//}
/**
* Creates the nested deltas resulting from an add operation.
* Convenience method for creating add deltas.
* and then an add operation should call this method.
*/
public void added(IJavaElement element) {
+ added(element, 0);
+}
+public void added(IJavaElement element, int flags) {
JavaElementDelta addedDelta = new JavaElementDelta(element);
- addedDelta.fKind = ADDED;
+ addedDelta.added();
+ addedDelta.changeFlags |= flags;
insertDeltaTree(element, addedDelta);
}
/**
}
resourceDeltas[resourceDeltasCounter++] = child;
}
+
/**
* Creates the nested deltas resulting from a change operation.
* Convenience method for creating change deltas.
* The constructor should be used to create the root delta
* and then a change operation should call this method.
*/
-public void changed(IJavaElement element, int changeFlag) {
+public JavaElementDelta changed(IJavaElement element, int changeFlag) {
JavaElementDelta changedDelta = new JavaElementDelta(element);
- changedDelta.fKind = CHANGED;
- changedDelta.fChangeFlags |= changeFlag;
+ changedDelta.changed(changeFlag);
insertDeltaTree(element, changedDelta);
+ return changedDelta;
}
/**
* Mark this delta as a content changed delta.
public void contentChanged() {
fChangeFlags |= F_CONTENT;
}
-/**
- * Clone this delta so that its elements are rooted at the given project.
- */
-public IJavaElementDelta clone(IJavaProject project) {
- JavaElementDelta clone =
- new JavaElementDelta(((JavaElement)fChangedElement).rootedAt(project));
- if (fAffectedChildren != fgEmptyDelta) {
- int length = fAffectedChildren.length;
- IJavaElementDelta[] cloneChildren = new IJavaElementDelta[length];
- for (int i= 0; i < length; i++) {
- cloneChildren[i] = ((JavaElementDelta)fAffectedChildren[i]).clone(project);
- }
- clone.fAffectedChildren = cloneChildren;
- }
- clone.fChangeFlags = fChangeFlags;
- clone.fKind = fKind;
- if (fMovedFromHandle != null) {
- clone.fMovedFromHandle = ((JavaElement)fMovedFromHandle).rootedAt(project);
- }
- if (fMovedToHandle != null) {
- clone.fMovedToHandle = ((JavaElement)fMovedToHandle).rootedAt(project);
- }
- clone.resourceDeltas = this.resourceDeltas;
- clone.resourceDeltasCounter = this.resourceDeltasCounter;
- return clone;
-}
+///**
+// * Clone this delta so that its elements are rooted at the given project.
+// */
+//public IJavaElementDelta clone(IJavaProject project) {
+// JavaElementDelta clone =
+// new JavaElementDelta(((JavaElement)fChangedElement).rootedAt(project));
+// if (fAffectedChildren != fgEmptyDelta) {
+// int length = fAffectedChildren.length;
+// IJavaElementDelta[] cloneChildren = new IJavaElementDelta[length];
+// for (int i= 0; i < length; i++) {
+// cloneChildren[i] = ((JavaElementDelta)fAffectedChildren[i]).clone(project);
+// }
+// clone.fAffectedChildren = cloneChildren;
+// }
+// clone.fChangeFlags = fChangeFlags;
+// clone.fKind = fKind;
+// if (fMovedFromHandle != null) {
+// clone.fMovedFromHandle = ((JavaElement)fMovedFromHandle).rootedAt(project);
+// }
+// if (fMovedToHandle != null) {
+// clone.fMovedToHandle = ((JavaElement)fMovedToHandle).rootedAt(project);
+// }
+// clone.resourceDeltas = this.resourceDeltas;
+// clone.resourceDeltasCounter = this.resourceDeltasCounter;
+// return clone;
+//}
/**
* Creates the nested deltas for a closed element.
* and then the delete operation should call this method.
*/
public void removed(IJavaElement element) {
+ removed(element, 0);
+}
+public void removed(IJavaElement element, int flags) {
JavaElementDelta removedDelta= new JavaElementDelta(element);
insertDeltaTree(element, removedDelta);
JavaElementDelta actualDelta = getDeltaFor(element);
if (actualDelta != null) {
- actualDelta.fKind = REMOVED;
- actualDelta.fChangeFlags = 0;
+ actualDelta.removed();
+ actualDelta.changeFlags |= flags;
actualDelta.fAffectedChildren = fgEmptyDelta;
}
}
+
/**
* Creates the nested deltas resulting from a change operation.
* Convenience method for creating change deltas.