Runtime

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

java.lang.Object
  extended byAbstractActionDelegate
      extended byorg.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 falsefrom AbstractModelActionDelegate.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 AbstractModelActionDelegate.setStatus(IStatus) to their command execution status.

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

See Also:
Serialized Form

Constructor Summary
protected AbstractModelActionDelegate()
          Intializes me with the singleton editing domain.
 
Method Summary
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

Runtime

Guidelines for using Eclipse APIs.

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