Eclipse Platform
Release 3.1

org.eclipse.ui
Interface IEditorInput

All Superinterfaces:
IAdaptable
All Known Subinterfaces:
IFileEditorInput, IInPlaceEditorInput, IPathEditorInput, IStorageEditorInput
All Known Implementing Classes:
CompareEditorInput, FileEditorInput, FileInPlaceEditorInput, MultiEditorInput

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 IWorbenchPage.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
 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 Detail

exists

public 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

public 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

getName

public 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

getPersistable

public 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

public 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.

Eclipse Platform
Release 3.1

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2005. All rights reserved.