Package org.eclipse.handly.snapshot

# Class TextFileStoreSnapshot

java.lang.Object
org.eclipse.handly.snapshot.Snapshot
org.eclipse.handly.snapshot.TextFileStoreSnapshot

All Implemented Interfaces:
  `ISnapshot`

public final class TextFileStoreSnapshot extends Snapshot
A snapshot of a text `IFileStore`. Thread-safe.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `TextFileStoreSnapshot(org.eclipse.core.filesystem.IFileStore fileStore)`
  Constructs a new snapshot of the given text file store.
  `TextFileStoreSnapshot(org.eclipse.core.filesystem.IFileStore fileStore, Charset charset)`
  Constructs a new snapshot of the given text file store using the given charset for decoding the file store's contents.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `exists()`
  Returns whether the file existed at the moment this snapshot was taken.
  `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 Boolean`
  `predictEquality(Snapshot other)`
  Predicts whether this snapshot is `equal` to the given snapshot without actually obtaining snapshot `contents`.

  ### Methods inherited from class org.eclipse.handly.snapshot.Snapshot

  `isEqualTo`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### TextFileStoreSnapshot

    public TextFileStoreSnapshot(org.eclipse.core.filesystem.IFileStore fileStore)
    Constructs a new snapshot of the given text file store. The snapshot may use a default charset for decoding the file store's contents if a more specific charset could not be detected for the file store.
    Parameters:
      `fileStore` - must not be `null`

  - ### TextFileStoreSnapshot

    public TextFileStoreSnapshot(org.eclipse.core.filesystem.IFileStore fileStore, Charset charset)
    Constructs a new snapshot of the given text file store using the given charset for decoding the file store's contents.
    Parameters:
      `fileStore` - must not be `null`
      `charset` - must not be `null`

- ## Method Details

  - ### getContents

    public 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 return `null`.

    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, and `false` otherwise

  - ### predictEquality

    protected Boolean predictEquality(Snapshot other)
    Description copied from class: `Snapshot`
    Predicts whether this snapshot is `equal` to the given snapshot without actually obtaining snapshot `contents`. Must return `null` if cannot tell for sure. Any non-null result must meet the contract of `ISnapshot.isEqualTo(ISnapshot)`.
    Overrides:
      `predictEquality` in class `Snapshot`
    Parameters:
      `other` - the other snapshot (not `null` 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, and `null` if there is no prediction