Class 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 java.lang.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 Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String KEY_PROVIDER_ID
      The memento key for the ID of the diagram type provider.
      static java.lang.String KEY_URI
      The memento key for the stored URI string
    • Constructor Summary

      Constructors 
      Constructor Description
      DiagramEditorInput​(org.eclipse.emf.common.util.URI diagramUri, java.lang.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 
      Modifier and Type Method Description
      static DiagramEditorInput createEditorInput​(Diagram diagram, java.lang.String providerId)
      Creates a new DiagramEditorInput for the given Diagram and the given diagram type provider ID.
      boolean equals​(java.lang.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.
      java.lang.Object getAdapter​(java.lang.Class adapter)
      Adapter method as defined in IAdaptable, supports adaptation to IFile.
      java.lang.String getFactoryId()
      Returns the factory ID for creating DiagramEditorInputs from mementos.
      org.eclipse.jface.resource.ImageDescriptor getImageDescriptor()  
      java.lang.String getName()  
      org.eclipse.ui.IPersistableElement getPersistable()  
      java.lang.String getProviderId()
      Returns the diagram type provider id.
      java.lang.String getToolTipText()  
      org.eclipse.emf.common.util.URI getUri()  
      java.lang.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​(java.lang.String name)
      Sets the name for this instance.
      void setProviderId​(java.lang.String providerId)
      Sets the diagram type provider id.
      java.lang.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 Detail

      • KEY_URI

        public static final java.lang.String KEY_URI
        The memento key for the stored URI string
        See Also:
        Constant Field Values
      • KEY_PROVIDER_ID

        public static java.lang.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,
                                  java.lang.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:
        java.lang.IllegalArgumentException - if uriString parameter is null
        Since:
        0.9
        See Also:
        URI
    • Method Detail

      • getProviderId

        public java.lang.String getProviderId()
        Returns the diagram type provider id.
        Specified by:
        getProviderId in interface IDiagramEditorInput
        Returns:
        The providerId.
      • setProviderId

        public void setProviderId​(java.lang.String providerId)
        Sets the diagram type provider id.
        Specified by:
        setProviderId in interface IDiagramEditorInput
        Parameters:
        providerId - The providerId to set.
      • getFactoryId

        public java.lang.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 java.lang.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​(java.lang.String name)
        Sets the name for this instance.
        Parameters:
        name - The name to set.
      • getToolTipText

        public java.lang.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 java.lang.Object getAdapter​(java.lang.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 java.lang.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​(java.lang.Object obj)
        Checks if this instance of the input represent the same object as the given instance.
        Overrides:
        equals in class java.lang.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 java.lang.Object
      • toString

        public java.lang.String toString()
        Used for logging only!
        Overrides:
        toString in class java.lang.Object
      • updateUri

        public void updateUri​(org.eclipse.emf.common.util.URI diagramFileUri)
        Specified by:
        updateUri in interface IDiagramEditorInput
        Since:
        0.9