Package org.eclipse.handly.snapshot
Class TextFileSnapshot
- java.lang.Object
-
- org.eclipse.handly.snapshot.Snapshot
-
- org.eclipse.handly.snapshot.TextFileSnapshot
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
TextFileSnapshot.Layer
Specifies whether the snapshot is to be taken directly from the file system, bypassing the workspace.
-
Constructor Summary
Constructors Constructor Description TextFileSnapshot(org.eclipse.core.resources.IFile file, TextFileSnapshot.Layer layer)
Constructs a new snapshot of the given textIFile
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
exists()
Returns whether the file existed at the moment this snapshot was taken.java.lang.String
getContents()
A snapshot returns the same contents until it expires.org.eclipse.core.runtime.IStatus
getStatus()
Returns whether an I/O error was encountered while reading the file.protected java.lang.Boolean
predictEquality(Snapshot other)
-
-
-
Constructor Detail
-
TextFileSnapshot
public TextFileSnapshot(org.eclipse.core.resources.IFile file, TextFileSnapshot.Layer layer)
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 Detail
-
getContents
public java.lang.String 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
protected java.lang.Boolean predictEquality(Snapshot other)
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
-
-