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 IDiagramContainerUIs. Wraps the URI of a Diagram and an ID of a diagram type provider for displaying it with a Graphiti diagram editor.
  • Field Details

    • KEY_URI

      public static final String KEY_URI
      The memento key for the stored URI string
      See Also:
    • 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 DiagramEditorInputs 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