Package org.eclipse.graphiti.ui.editor

# Class DiagramEditorInput

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

All Implemented Interfaces:
  `org.eclipse.core.runtime.IAdaptable`, `IDiagramEditorInput`, `org.eclipse.ui.IEditorInput`, `org.eclipse.ui.IPersistable`, `org.eclipse.ui.IPersistableElement`

public class DiagramEditorInput extends Object implements org.eclipse.ui.IEditorInput, org.eclipse.ui.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.

## Field Summary

Fields
Modifier and Type
Field
Description
`static String`
`KEY_PROVIDER_ID`
The memento key for the ID of the diagram type provider.
`static final String`
`KEY_URI`
The memento key for the stored `URI` string

## Constructor Summary

Constructors
Constructor
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

Modifier and Type
Method
Description
`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.
`org.eclipse.jface.resource.ImageDescriptor`
`getImageDescriptor()`
`String`
`getName()`
`org.eclipse.ui.IPersistableElement`
`getPersistable()`
`String`
`getProviderId()`
Returns the diagram type provider id.
`String`
`getToolTipText()`
`org.eclipse.emf.common.util.URI`
`getUri()`
`final String`
`getUriString()`
`int`
`hashCode()`
`protected boolean`
`hasName()`
Checks if a name is set for this instance
`void`
`saveState(org.eclipse.ui.IMemento memento)`
Saves `URI` string, object name and provider ID to the given `IMemento`.
`protected void`
`setName(String name)`
Sets the name for this instance.
`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

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

## Field Details

### 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 Details

### 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 Details

### 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 `org.eclipse.ui.IPersistableElement`
Returns:
  The ID of the associated factory

### getImageDescriptor

public org.eclipse.jface.resource.ImageDescriptor getImageDescriptor()

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

### getName

public String getName()

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

### hasName

protected boolean hasName()
Checks if a name is set for this instance

Returns:
  `true` in case a name is set, `false` in name is `null`.

### setName

protected void setName(String name)
Sets the name for this instance.

Parameters:
  `name` - The name to set.

### getToolTipText

public String getToolTipText()

Specified by:
  `getToolTipText` in interface `org.eclipse.ui.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 `org.eclipse.core.runtime.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(org.eclipse.ui.IMemento memento)
Saves `URI` string, object name and provider ID to the given `IMemento`.

Specified by:
  `saveState` in interface `org.eclipse.ui.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 `org.eclipse.ui.IEditorInput`
Returns:
  `true` if the input's state denotes a living EMF object

### getPersistable

public org.eclipse.ui.IPersistableElement getPersistable()

Specified by:
  `getPersistable` in interface `org.eclipse.ui.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