Runtime

## org.eclipse.gmf.runtime.emf.ui.action
Class AbstractModelActionDelegate

    java.lang.Object
      AbstractActionDelegate
          org.eclipse.gmf.runtime.emf.ui.action.AbstractModelActionDelegate

    public abstract class AbstractModelActionDelegate

extends AbstractActionDelegate

The abstract parent of all concrete action delegates that execute model commands. Concrete subclasses must provide a definition of the `doRun()` method to gather any required input and execute a model command.

Subclasses that execute a command must return `false`from `isReadOnly()`. The superclass performs the `#doRun(IProgressMonitor)` method in an EMF operation executed on the operation history. Subclasses should set the action delegate status using `setStatus(IStatus)` to their command execution status.

Subclasses that only want to read from the model must return `true` from `isReadOnly()`.

Constructor Summary
`protected` `AbstractModelActionDelegate()` Intializes me with the singleton editing domain.

Method Summary
`protected IStatus` `execute(IUndoableOperation operation, IProgressMonitor progressMonitor, IAdaptable info)` Convenience method for subclasses to execute an undoable operation on the action manager's operation history.
`protected abstract org.eclipse.emf.transaction.TransactionalEditingDomain` `getEditingDomain()` Gets my editing domain.
`protected IStatus` `getStatus()` Gets the status of running this action delegate.
`protected boolean` `isReadOnly()` Answers whether or not I am a read-only action.
`void` `run(IProgressMonitor progressMonitor)` Runs this model action delegate as a read action.
`protected void` `setStatus(IStatus status)` Sets the action delegate status.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### AbstractModelActionDelegate

    protected AbstractModelActionDelegate()

  Intializes me with the singleton editing domain.

Method Detail

### run

    public final void run(IProgressMonitor progressMonitor)

  Runs this model action delegate as a read action.

  See Also:
    `IActionWithProgress#run(IProgressMonitor)`

### getEditingDomain

    protected abstract org.eclipse.emf.transaction.TransactionalEditingDomain getEditingDomain()

  Gets my editing domain. Can be `null` if I don't modify model resources.

  Returns:
    my editing domain.

### isReadOnly

    protected boolean isReadOnly()

  Answers whether or not I am a read-only action. Returns `false` by default. Subclasses may override.

  Returns:
    `false`

### getStatus

    protected IStatus getStatus()

  Gets the status of running this action delegate.

  Returns:
    my status

### setStatus

    protected void setStatus(IStatus status)

  Sets the action delegate status. Subclasses should set the status when they execute a command.

  Parameters:
    `status` - the new status

### execute

    protected IStatus execute(IUndoableOperation operation,
                              IProgressMonitor progressMonitor,
                              IAdaptable info)

  Convenience method for subclasses to execute an undoable operation on the action manager's operation history. Sets my status to the status of the operation execution, and returns that status.

  Parameters:
    `operation` - the operation to be executed
    `progressMonitor` - the progress monitor
    `info` - the adaptable info, may be `null`
  Returns:
    the status of the operation execution.

Runtime

Guidelines for using Eclipse APIs.

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