Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.core.filebuffers')
-rw-r--r--org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/IFileBuffer.java7
-rw-r--r--org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/FileBuffer.java8
2 files changed, 15 insertions, 0 deletions
diff --git a/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/IFileBuffer.java b/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/IFileBuffer.java
index c8d60f93aeb..4bace6fd76c 100644
--- a/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/IFileBuffer.java
+++ b/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/IFileBuffer.java
@@ -34,6 +34,13 @@ public interface IFileBuffer {
* @return the underlying file of this file buffer
*/
IFile getUnderlyingFile();
+
+ /**
+ * Returns whether the underlying file of this file buffer has changed.
+ *
+ * @return <code>true</code> if the underlying file of this file buffer has changed
+ */
+ boolean hasUnderlyingFileChanged();
/**
* Reverts the contents of this file buffer to the content of its underlying file. After
diff --git a/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/FileBuffer.java b/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/FileBuffer.java
index e58f2eb6fe4..809a4dee885 100644
--- a/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/FileBuffer.java
+++ b/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/FileBuffer.java
@@ -217,6 +217,7 @@ public abstract class FileBuffer implements IFileBuffer {
fFile= file;
fFileSynchronizer= new FileSynchronizer();
refreshFile(monitor);
+ fModificationStamp= fFile.getModificationStamp();
initializeFileBufferContent(monitor);
addFileBufferContentListeners();
@@ -337,4 +338,11 @@ public abstract class FileBuffer implements IFileBuffer {
ILog log= Platform.getPlugin(FileBuffersPlugin.PLUGIN_ID).getLog();
log.log(exception.getStatus());
}
+
+ /*
+ * @see IFileBuffer#hasUnderlyingFileChanged()
+ */
+ public boolean hasUnderlyingFileChanged() {
+ return fModificationStamp != fFile.getModificationStamp();
+ }
}

Back to the top