Interface IEditorInput

All Superinterfaces:
IAdaptable
All Known Subinterfaces:
IFileEditorInput, IInPlaceEditorInput, IPathEditorInput, IStorageEditorInput, IURIEditorInput
All Known Implementing Classes:
CommonSourceNotFoundEditorInput, CompareEditorInput, FileEditorInput, FileInPlaceEditorInput, FileStoreEditorInput, HistoryPageCompareEditorInput, MultiEditorInput, PageCompareEditorInput, ParticipantPageCompareEditorInput, SaveableCompareEditorInput, SyncInfoCompareInput

public interface IEditorInput extends IAdaptable
IEditorInput is a light weight descriptor of editor input, like a file name but more abstract. It is not a model. It is a description of the model source for an IEditorPart.

Clients implementing this editor input interface should override Object.equals(Object) to answer true for two inputs that are the same. The IWorkbenchPage.openEditor APIs are dependent on this to find an editor with the same input.

Clients should extend this interface to declare new types of editor inputs.

An editor input is passed to an editor via the IEditorPart.init method. Due to the wide range of valid editor inputs, it is not possible to define generic methods for getting and setting bytes.

Editor input must implement the IAdaptable interface; extensions are managed by the platform's adapter manager.

Please note that it is important that the editor input be light weight. Within the workbench, the navigation history tends to hold on to editor inputs as a means of reconstructing the editor at a later time. The navigation history can hold on to quite a few inputs (i.e., the default is fifty). The actual data model should probably not be held in the input.

See Also:
  • Method Details

    • exists

      boolean exists()
      Returns whether the editor input exists.

      This method is primarily used to determine if an editor input should appear in the "File Most Recently Used" menu. An editor input will appear in the list until the return value of exists becomes false or it drops off the bottom of the list.

      Returns:
      true if the editor input exists; false otherwise
    • getImageDescriptor

      ImageDescriptor getImageDescriptor()
      Returns the image descriptor for this input.

      Note: although a null return value has never been permitted from this method, there are many known buggy implementations that return null. Clients that need the image for an editor are advised to use IWorkbenchPart.getImage() instead of IEditorInput.getImageDescriptor(), or to recover from a null return value in a manner that records the ID of the problematic editor input. Implementors that have been returning null from this method should pick some other default return value (such as ImageDescriptor.getMissingImageDescriptor()).

      Returns:
      the image descriptor for this input; may be null if there is no image.
    • getName

      String getName()
      Returns the name of this editor input for display purposes.

      For instance, when the input is from a file, the return value would ordinarily be just the file name.

      Returns:
      the name string; never null;
    • getPersistable

      IPersistableElement getPersistable()
      Returns an object that can be used to save the state of this editor input.
      Returns:
      the persistable element, or null if this editor input cannot be persisted
    • getToolTipText

      String getToolTipText()
      Returns the tool tip text for this editor input. This text is used to differentiate between two input with the same name. For instance, MyClass.java in folder X and MyClass.java in folder Y. The format of the text varies between input types.
      Returns:
      the tool tip text; never null.