Interface IFileState

All Superinterfaces:
IAdaptable, IEncodedStorage, IStorage

public interface IFileState extends IEncodedStorage, IAdaptable
A previous state of a file stored in the workspace's local history.

Certain methods for updating, deleting, or moving a file cause the "before" contents of the file to be copied to an internal area of the workspace called the local history area thus providing a limited history of earlier states of a file.

Moving or copying a file will cause a copy of its local history to appear at the new location as well as at the original location. Subsequent changes to either file will only affect the local history of the file changed. Deleting a file and creating another one at the same path does not affect the history. If the original file had history, that same history will be available for the new one.

The local history does not track resource properties. File states are volatile; the platform does not guarantee that a certain state will always be in the local history.

File state objects implement the IAdaptable interface; extensions are managed by the platform's adapter manager.

See Also:
Restriction:
This interface is not intended to be implemented by clients.
Restriction:
This interface is not intended to be extended by clients.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Returns whether this file state still exists in the local history.
    Returns an open input stream on the contents of this file state.
    Returns the full path of this file state.
    long
    Returns the modification time of the file.
    Returns the name of this file state.
    boolean
    Returns whether this file state is read-only.

    Methods inherited from interface org.eclipse.core.runtime.IAdaptable

    getAdapter

    Methods inherited from interface org.eclipse.core.resources.IEncodedStorage

    getCharset
  • Method Details

    • exists

      boolean exists()
      Returns whether this file state still exists in the local history.
      Returns:
      true if this state exists, and false if it does not
    • getContents

      InputStream getContents() throws CoreException
      Returns an open input stream on the contents of this file state. This refinement of the corresponding IStorage method returns an open input stream on the contents this file state represents. The client is responsible for closing the stream when finished.
      Specified by:
      getContents in interface IStorage
      Returns:
      an input stream containing the contents of the file
      Throws:
      CoreException - if this method fails. Reasons include:
      • This state does not exist.
    • getFullPath

      IPath getFullPath()
      Returns the full path of this file state. This refinement of the corresponding IStorage method specifies that IFileStates always have a path and that path is the full workspace path of the file represented by this state.
      Specified by:
      getFullPath in interface IStorage
      Returns:
      the path related to the data represented by this storage or null if none.
      See Also:
    • getModificationTime

      long getModificationTime()
      Returns the modification time of the file. If you create a file at 9:00 and modify it at 11:00, the file state added to the history at 11:00 will have 9:00 as its modification time.

      Note that is used only to give the user a general idea of how old this file state is.

      Returns:
      the time of last modification, in milliseconds since January 1, 1970, 00:00:00 GMT.
    • getName

      String getName()
      Returns the name of this file state. This refinement of the corresponding IStorage method specifies that IFileStates always have a name and that name is equivalent to the last segment of the full path of the resource represented by this state.
      Specified by:
      getName in interface IStorage
      Returns:
      the name of the data represented by this storage, or null if this storage has no name
      See Also:
    • isReadOnly

      boolean isReadOnly()
      Returns whether this file state is read-only. This refinement of the corresponding IStorage method restricts IFileStates to always be read-only.
      Specified by:
      isReadOnly in interface IStorage
      Returns:
      true if this storage is read-only
      See Also: