Package org.eclipse.handly.snapshot
Class TextFileSnapshot
java.lang.Object
org.eclipse.handly.snapshot.Snapshot
org.eclipse.handly.snapshot.TextFileSnapshot
- All Implemented Interfaces:
ISnapshot
A snapshot of a text
IFile
. Thread-safe.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
Specifies whether the snapshot is to be taken directly from the file system, bypassing the workspace. -
Constructor Summary
ConstructorsConstructorDescriptionTextFileSnapshot
(org.eclipse.core.resources.IFile file, TextFileSnapshot.Layer layer) Constructs a new snapshot of the given textIFile
. -
Method Summary
Modifier and TypeMethodDescriptionboolean
exists()
Returns whether the file existed at the moment this snapshot was taken.A snapshot returns the same contents until it expires.org.eclipse.core.runtime.IStatus
Returns whether an I/O error was encountered while reading the file.protected Boolean
predictEquality
(Snapshot other)
-
Constructor Details
-
TextFileSnapshot
Constructs a new snapshot of the given textIFile
.The workspace may be out of sync with the file system. The
layer
argument controls how to deal with that. IfLayer.FILESYSTEM
is specified, the snapshot will be taken directly from the file system, bypassing the workspace. IfLayer.WORKSPACE
is specified, the snapshot will expire if the workspace is not in sync with the corresponding location in the file system.- Parameters:
file
- notnull
layer
- controls whether the snapshot is to be taken directly from the file system, bypassing the workspace
-
-
Method Details
-
getContents
Description copied from interface:ISnapshot
A snapshot returns the same contents until it expires. This is the contents of the underlying resource or buffer at the moment the snapshot was taken. Expired snapshots returnnull
.Protractedly holding on to the returned contents is not recommended, as it may potentially consume significant amount of space.
- Returns:
- the contents of the snapshot, or
null
if the snapshot has expired
-
getStatus
public org.eclipse.core.runtime.IStatus getStatus()Returns whether an I/O error was encountered while reading the file.- Returns:
- an error status if an I/O error was encountered, or OK status otherwise
-
exists
public boolean exists()Returns whether the file existed at the moment this snapshot was taken.- Returns:
true
if the file existed at the moment this snapshot was taken, andfalse
otherwise
-
predictEquality
Description copied from class:Snapshot
Predicts whether this snapshot isequal
to the given snapshot without actually obtaining snapshotcontents
. Must returnnull
if cannot tell for sure. Any non-null result must meet the contract ofISnapshot.isEqualTo(ISnapshot)
.- Overrides:
predictEquality
in classSnapshot
- Parameters:
other
- the other snapshot (notnull
and not identical to the receiver)- Returns:
true
if the snapshots are predicted to be equal,false
if the snapshots are predicted to be unequal, andnull
if there is no prediction
-