Package org.eclipse.ui

# 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:
  - `IEditorPart`
  - `IWorkbenchPage.openEditor(IEditorInput, String)`
  - `IWorkbenchPage.openEditor(IEditorInput, String, boolean)`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`exists()`
Returns whether the editor input exists.
`ImageDescriptor`
`getImageDescriptor()`
Returns the image descriptor for this input.
`String`
`getName()`
Returns the name of this editor input for display purposes.
`IPersistableElement`
`getPersistable()`
Returns an object that can be used to save the state of this editor input.
`String`
`getToolTipText()`
Returns the tool tip text for this editor input.

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

`getAdapter`

## 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`.