org.eclipse.graphiti.ui.editor

## Class DiagramEditorInput

- java.lang.Object
- - org.eclipse.graphiti.ui.editor.DiagramEditorInput

All Implemented Interfaces:
  IAdaptable, IDiagramEditorInput, IEditorInput, IPersistable, IPersistableElement

    public class DiagramEditorInput
    extends Object
    implements IEditorInput, IPersistableElement, IDiagramEditorInput

The editor input object for `IDiagramContainerUI`s. Wraps the `URI` of a `Diagram` and an ID of a diagram type provider for displaying it with a Graphiti diagram editor.

See Also:
  `IEditorInput}`, `IPersistableElement}`, `DiagramEditorInputFactory}`, `IDiagramContainerUI}`

### Field Summary

Fields
`static String` `KEY_PROVIDER_ID` The memento key for the ID of the diagram type provider.
`static String` `KEY_URI` The memento key for the stored `URI` string

### Constructor Summary

Constructors
Constructor and Description
`DiagramEditorInput(org.eclipse.emf.common.util.URI diagramUri, String providerId)` Creates a new `DiagramEditorInput` out of a `URI` string and a Graphiti diagram type provider ID.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`static DiagramEditorInput` `createEditorInput(Diagram diagram, String providerId)` Creates a new `DiagramEditorInput` for the given `Diagram` and the given diagram type provider ID.
`boolean` `equals(Object obj)` Checks if this instance of the input represent the same object as the given instance.
`boolean` `exists()` Checks if the diagram this input represents exist.
`Object` `getAdapter(Class adapter)` Adapter method as defined in `IAdaptable`, supports adaptation to `IFile`.
`String` `getFactoryId()` Returns the factory ID for creating `DiagramEditorInput`s from mementos.
`ImageDescriptor` `getImageDescriptor()`
`String` `getName()`
`IPersistableElement` `getPersistable()`
`String` `getProviderId()` Returns the diagram type provider id.
`String` `getToolTipText()`
`org.eclipse.emf.common.util.URI` `getUri()`
`String` `getUriString()`
`int` `hashCode()`
`void` `saveState(IMemento memento)` Saves `URI` string, object name and provider ID to the given `IMemento`.
`void` `setProviderId(String providerId)` Sets the diagram type provider id.
`String` `toString()` Used for logging only!
`void` `updateUri(org.eclipse.emf.common.util.URI diagramFileUri)`

### Methods inherited from class java.lang.Object

`getClass, notify, notifyAll, wait, wait, wait`

### Field Detail

#### KEY_URI

    public static final String KEY_URI

The memento key for the stored `URI` string

See Also:
  Constant Field Values

#### KEY_PROVIDER_ID

    public static String KEY_PROVIDER_ID

The memento key for the ID of the diagram type provider.

### Constructor Detail

#### DiagramEditorInput

    public DiagramEditorInput(org.eclipse.emf.common.util.URI diagramUri,
                              String providerId)

Creates a new `DiagramEditorInput` out of a `URI` string and a Graphiti diagram type provider ID. For resolving the `URI` to an `EObject` the `ResourceSet` that will be created when a diagram editor starts is taken. This input object will not resolve the diagram.
A diagram type provider ID is held in this class.

Parameters:
  `diagramUri` - A `URI` that denotes the input's `EObject`. This can either be a URI of a Graphiti diagram or the URI of an EMF resource storing a Graphiti diagram. In the latter case the given URI will b e trimmed to point to the first element in the resource; make sure that this element is a Graphiti diagram, otherwise an exception will be thrown when the diagram editor opens. No check on this is done inside the input object itself!
  `providerId` - A `String` which holds the diagram type id. When it is null, it is set later in `DiagramBehavior#setInput(IEditorInput)`
Throws:
  `IllegalArgumentException` - if `uriString` parameter is null
Since:
  0.9
See Also:
  `URI`

### Method Detail

#### createEditorInput

    public static DiagramEditorInput createEditorInput(Diagram diagram,
                                                       String providerId)

Creates a new `DiagramEditorInput` for the given `Diagram` and the given diagram type provider ID.

Parameters:
  `diagram` - A `Diagram`
  `providerId` - A `String` which holds the diagram type provider id.
Returns:
  A `DiagramEditorInput` editor input
Since:
  0.9

#### getProviderId

    public String getProviderId()

Returns the diagram type provider id.

Specified by:
  `getProviderId` in interface `IDiagramEditorInput`
Returns:
  The providerId.

#### setProviderId

    public void setProviderId(String providerId)

Sets the diagram type provider id.

Specified by:
  `setProviderId` in interface `IDiagramEditorInput`
Parameters:
  `providerId` - The providerId to set.

#### getFactoryId

    public String getFactoryId()

Returns the factory ID for creating `DiagramEditorInput`s from mementos.

Specified by:
  `getFactoryId` in interface `IPersistableElement`
Returns:
  The ID of the associated factory

#### getImageDescriptor

    public ImageDescriptor getImageDescriptor()

Specified by:
  `getImageDescriptor` in interface `IEditorInput`
Returns:
  Simply returns `null`.

#### getName

    public String getName()

Specified by:
  `getName` in interface `IEditorInput`
Returns:
  The cached name or the input's `URI` string
See Also:
  `#getLiveName()`

#### getToolTipText

    public String getToolTipText()

Specified by:
  `getToolTipText` in interface `IEditorInput`
Returns:
  The cached tooltip or the input's `URI` string
See Also:
  `#getLiveToolTipText()`

#### getAdapter

    public Object getAdapter(Class adapter)

Adapter method as defined in `IAdaptable`, supports adaptation to `IFile`.

Specified by:
  `getAdapter` in interface `IAdaptable`
Parameters:
  `adapter` - The adapter class to look up
Returns:
  A object castable to the given class, or `null` if this object does not have an adapter for the given class

#### saveState

    public void saveState(IMemento memento)

Saves `URI` string, object name and provider ID to the given `IMemento`.

Specified by:
  `saveState` in interface `IPersistable`
Parameters:
  `memento` - The memento to store the information in

#### getUriString

    public final String getUriString()

Specified by:
  `getUriString` in interface `IDiagramEditorInput`
Returns:
  The `URI` string this input and its editors operate on

#### exists

    public boolean exists()

Checks if the diagram this input represents exist.

Note: The editor gets only restored, when `true` is returned.

Specified by:
  `exists` in interface `IEditorInput`
Returns:
  `true` if the input's state denotes a living EMF object

#### getPersistable

    public IPersistableElement getPersistable()

Specified by:
  `getPersistable` in interface `IEditorInput`
Returns:
  this input if it is persistable, otherwise null

#### getUri

    public org.eclipse.emf.common.util.URI getUri()

Specified by:
  `getUri` in interface `IDiagramEditorInput`
Returns:
  the resolved `URI` or `null` in case of failures
Since:
  0.9

#### equals

    public boolean equals(Object obj)

Checks if this instance of the input represent the same object as the given instance.

Overrides:
  `equals` in class `Object`
Parameters:
  `obj` - The object to compare this instance with.
Returns:
  `true` if the represented objects are the same

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `Object`

#### toString

    public String toString()

Used for logging only!

Overrides:
  `toString` in class `Object`

#### updateUri

    public void updateUri(org.eclipse.emf.common.util.URI diagramFileUri)

Specified by:
  `updateUri` in interface `IDiagramEditorInput`
Since:
  0.9