Interface IDocumentProvider

    • Method Detail

      • connect

        void connect​(Object element)
              throws CoreException
        Connects the given element to this document provider. This tells the provider that caller of this method is interested to work with the document provided for the given domain model element. By counting the invocations of this method and disconnect(Object) this provider can assume to know the correct number of clients working with the document provided for that domain model element.

        The given element must not be null.

        Parameters:
        element - the element
        Throws:
        CoreException - if the textual representation or the annotation model of the element could not be created
      • disconnect

        void disconnect​(Object element)
        Disconnects the given element from this document provider. This tells the provider that the caller of this method is no longer interested in working with the document provided for the given domain model element. By counting the invocations of connect(Object) and of this method this provider can assume to know the correct number of clients working with the document provided for that domain model element.

        The given element must not be null.

        Parameters:
        element - the element
      • getDocument

        IDocument getDocument​(Object element)
        Returns the document for the given element. Usually the document contains a textual presentation of the content of the element, or is the element itself.
        Parameters:
        element - the element, or null
        Returns:
        the document, or null if none
      • resetDocument

        void resetDocument​(Object element)
                    throws CoreException
        Resets the given element's document to its last saved state. Element state listeners are notified both before (elementContentAboutToBeReplaced) and after (elementContentReplaced) the content is changed.
        Parameters:
        element - the element, or null
        Throws:
        CoreException - if document could not be reset for the given element
      • saveDocument

        void saveDocument​(IProgressMonitor monitor,
                          Object element,
                          IDocument document,
                          boolean overwrite)
                   throws CoreException
        Saves the given document provided for the given element.
        Parameters:
        monitor - a progress monitor to report progress and request cancelation
        element - the element, or null
        document - the document
        overwrite - indicates whether overwrite should be performed while saving the given element if necessary
        Throws:
        CoreException - if document could not be stored to the given element
      • getModificationStamp

        long getModificationStamp​(Object element)
        Returns the modification stamp of the given element.
        Parameters:
        element - the element
        Returns:
        the modification stamp of the given element
      • getSynchronizationStamp

        long getSynchronizationStamp​(Object element)
        Returns the time stamp of the last synchronization of the given element and its provided document.
        Parameters:
        element - the element
        Returns:
        the synchronization stamp of the given element
      • isDeleted

        boolean isDeleted​(Object element)
        Returns whether the given element has been deleted.
        Parameters:
        element - the element
        Returns:
        true if the element has been deleted
      • mustSaveDocument

        boolean mustSaveDocument​(Object element)
        Returns whether the document provided for the given element must be saved.
        Parameters:
        element - the element, or null
        Returns:
        true if the document must be saved, and false otherwise (including the element is null)
      • canSaveDocument

        boolean canSaveDocument​(Object element)
        Returns whether the document provided for the given element differs from its original state which would required that it be saved.
        Parameters:
        element - the element, or null
        Returns:
        true if the document can be saved, and false otherwise (including the element is null)
      • getAnnotationModel

        IAnnotationModel getAnnotationModel​(Object element)
        Returns the annotation model for the given element.
        Parameters:
        element - the element, or null
        Returns:
        the annotation model, or null if none
      • aboutToChange

        void aboutToChange​(Object element)
        Informs this document provider about upcoming changes of the given element. The changes might cause change notifications specific for the type of the given element. If this provider manages a document for the given element, the document provider must not change the document because of the notifications received after aboutToChange has been and before changed is called. In this case, it is assumed that the document is already up to date, e.g., a save operation is a typical case.

        The concrete nature of the change notification depends on the concrete type of the given element. If the element is, e.g., an IResource the notification is a resource delta.

        Parameters:
        element - the element, or null
      • changed

        void changed​(Object element)
        Informs this document provider that the given element has been changed. All notifications have been sent out. If this provider manages a document for the given element, the document provider must from now on change the document on the receipt of change notifications. The concrete nature of the change notification depends on the concrete type of the given element. If the element is, e.g., an IResource the notification is a resource delta.
        Parameters:
        element - the element, or null
      • addElementStateListener

        void addElementStateListener​(IElementStateListener listener)
        Adds the given element state listener to this document provider. Has no effect if an identical listener is already registered.
        Parameters:
        listener - the listener
      • removeElementStateListener

        void removeElementStateListener​(IElementStateListener listener)
        Removes the given element state listener from this document provider. Has no effect if an identical listener is not registered.
        Parameters:
        listener - the listener