diff options
Diffstat (limited to 'org.eclipse.core.filebuffers')
-rw-r--r-- | org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/IFileBuffer.java | 7 | ||||
-rw-r--r-- | org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/FileBuffer.java | 8 |
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(); + } } |