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, java.nio.charset.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

    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)` | 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 Detail

    - #### 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,
                                       java.nio.charset.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 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 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 java.lang.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