Runtime

## org.eclipse.gmf.runtime.diagram.ui.resources.editor.document
Interface IElementStateListener

public interface IElementStateListener

Interface for parties interested in standardized element changes. These changes are:

- dirty state changes
- content replacements
- moves
- deletions

The notifications sent to the element state listeners inform about those standardized, abstract changes. The concrete change applied might differ from the one the listeners are notified about, but should be interpreted as the one the listeners receive.

In order to provided backward compatibility for clients of `IElementStateListener`, extension interfaces are used to provide a means of evolution. The following extension interface exists:

Method Summary
`void` `elementContentAboutToBeReplaced(java.lang.Object element)` Notifies that the content of the given element is about to be replaced.
`void` `elementContentReplaced(java.lang.Object element)` Notifies that the content of the given element has been replaced.
`void` `elementDeleted(java.lang.Object element)` Notifies that the given element has been deleted.
`void` `elementDirtyStateChanged(java.lang.Object element, boolean isDirty)` Notifies that the dirty state of the given element has changed.
`void` `elementMoved(java.lang.Object originalElement, java.lang.Object movedElement)` Notifies that the element has moved.
`void` `elementStateChangeFailed(java.lang.Object element)` Notifies that changing the given element has failed.
`void` `elementStateChanging(java.lang.Object element)` Notifies that the given element is currently being changed.
`void` `elementStateValidationChanged(java.lang.Object element, boolean isStateValidated)` Notifies that the state validation of the given element has changed.

Method Detail

### elementDirtyStateChanged

    public void elementDirtyStateChanged(java.lang.Object element,
                                         boolean isDirty)

  Notifies that the dirty state of the given element has changed.

  Parameters:
    `element` - the element
    `isDirty` - the new dirty state

### elementContentAboutToBeReplaced

    public void elementContentAboutToBeReplaced(java.lang.Object element)

  Notifies that the content of the given element is about to be replaced.

  Parameters:
    `element` - the element

### elementContentReplaced

    public void elementContentReplaced(java.lang.Object element)

  Notifies that the content of the given element has been replaced.

  Parameters:
    `element` - the element

### elementDeleted

    public void elementDeleted(java.lang.Object element)

  Notifies that the given element has been deleted.

  Parameters:
    `element` - the element

### elementMoved

    public void elementMoved(java.lang.Object originalElement,
                             java.lang.Object movedElement)

  Notifies that the element has moved. If `movedElement` is `null` it is similar to `elementDeleted(originalElement)`.

  Parameters:
    `originalElement` - the element before the move
    `movedElement` - the element after the move

### elementStateValidationChanged

    public void elementStateValidationChanged(java.lang.Object element,
                                              boolean isStateValidated)

  Notifies that the state validation of the given element has changed.

  Parameters:
    `element` - the element
    `isStateValidated` - the flag indicating whether state validation is done

### elementStateChanging

    public void elementStateChanging(java.lang.Object element)

  Notifies that the given element is currently being changed. This method may be sent from a non-ui thread.

  Parameters:
    `element` - the element

### elementStateChangeFailed

    public void elementStateChangeFailed(java.lang.Object element)

  Notifies that changing the given element has failed.

  Parameters:
    `element` - the element

Runtime

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp., Borland Software Corp., and others 2005,2006. All rights reserved.