Eclipse Platform
Release 3.1

org.eclipse.ui.actions
Class BuildAction

java.lang.Object
  extended byorg.eclipse.jface.action.Action
      extended byorg.eclipse.ui.actions.BaseSelectionListenerAction
          extended byorg.eclipse.ui.actions.SelectionListenerAction
              extended byorg.eclipse.ui.actions.WorkspaceAction
                  extended byorg.eclipse.ui.actions.BuildAction
All Implemented Interfaces:
IAction, ISelectionChangedListener

public class BuildAction
extends WorkspaceAction

Standard actions for full and incremental builds of the selected project(s).

This class may be instantiated; it is not intended to be subclassed.


Field Summary
static String ID_BUILD
          The id of an incremental build action.
static String ID_REBUILD_ALL
          The id of a rebuild all action.
 
Fields inherited from interface org.eclipse.jface.action.IAction
AS_CHECK_BOX, AS_DROP_DOWN_MENU, AS_PUSH_BUTTON, AS_RADIO_BUTTON, AS_UNSPECIFIED, CHECKED, DESCRIPTION, ENABLED, HANDLED, IMAGE, RESULT, TEXT, TOOL_TIP_TEXT
 
Constructor Summary
BuildAction(Shell shell, int type)
          Creates a new action of the appropriate type.
 
Method Summary
protected  List getActionResources()
          Returns the elements that the action is to be performed on.
protected  String getOperationMessage()
          Returns the string to display for this action's operation.
protected  String getProblemsMessage()
          Returns the string to display for this action's problems dialog.
protected  String getProblemsTitle()
          Returns the title for this action's problems dialog.
protected  void invokeOperation(IResource resource, IProgressMonitor monitor)
          Performs this action's operation on each of the selected resources, reporting progress to, and fielding cancel requests from, the given progress monitor.
 boolean isEnabled()
          Returns whether this action is enabled.
static boolean isSaveAllSet()
          Returns whether the user's preference is set to automatically save modified resources before a manual build is done.
 void run()
          The CoreWrapperAction implementation of this IAction method uses a ProgressMonitorDialog to run the operation.
protected  boolean shouldPerformResourcePruning()
          Returns whether this action should attempt to optimize the resources being operated on.
protected  boolean updateSelection(IStructuredSelection s)
          The BuildAction implementation of this SelectionListenerAction method ensures that this action is enabled only if all of the selected resources have buildable projects.
 
Methods inherited from class org.eclipse.ui.actions.WorkspaceAction
runInBackground, runInBackground, runInBackground
 
Methods inherited from class org.eclipse.ui.actions.SelectionListenerAction
clearCache, getSelectedNonResources, getSelectedResources, resourceIsType, selectionIsOfType
 
Methods inherited from class org.eclipse.ui.actions.BaseSelectionListenerAction
getStructuredSelection, runWithEvent, selectionChanged, selectionChanged
 
Methods inherited from class org.eclipse.jface.action.Action
addPropertyChangeListener, convertAccelerator, convertAccelerator, findKeyCode, findKeyString, findModifier, findModifierString, firePropertyChange, firePropertyChange, getAccelerator, getActionDefinitionId, getDescription, getDisabledImageDescriptor, getHelpListener, getHoverImageDescriptor, getId, getImageDescriptor, getMenuCreator, getStyle, getText, getToolTipText, isChecked, isHandled, notifyResult, removeAcceleratorText, removeMnemonics, removePropertyChangeListener, setAccelerator, setActionDefinitionId, setChecked, setDescription, setDisabledImageDescriptor, setEnabled, setHelpListener, setHoverImageDescriptor, setId, setImageDescriptor, setMenuCreator, setText, setToolTipText
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ID_BUILD

public static final String ID_BUILD
The id of an incremental build action.

See Also:
Constant Field Values

ID_REBUILD_ALL

public static final String ID_REBUILD_ALL
The id of a rebuild all action.

See Also:
Constant Field Values
Constructor Detail

BuildAction

public BuildAction(Shell shell,
                   int type)
Creates a new action of the appropriate type. The action id is ID_BUILD for incremental builds and ID_REBUILD_ALL for full builds.

Parameters:
shell - the shell for any dialogs
type - the type of build; one of IncrementalProjectBuilder.INCREMENTAL_BUILD or IncrementalProjectBuilder.FULL_BUILD
Method Detail

getActionResources

protected List getActionResources()
Description copied from class: WorkspaceAction
Returns the elements that the action is to be performed on. By default return the selected resources.

Subclasses may override this method.

Overrides:
getActionResources in class WorkspaceAction
Returns:
list of resource elements (element type: IResource)

getOperationMessage

protected String getOperationMessage()
Description copied from class: WorkspaceAction
Returns the string to display for this action's operation.

Note that this hook method is invoked in a non-UI thread.

Subclasses must implement this method.

Specified by:
getOperationMessage in class WorkspaceAction
Returns:
the message

getProblemsMessage

protected String getProblemsMessage()
Description copied from class: WorkspaceAction
Returns the string to display for this action's problems dialog.

The WorkspaceAction implementation of this method returns a vague message (localized counterpart of something like "The following problems occurred."). Subclasses may reimplement to provide something more suited to the particular action.

Overrides:
getProblemsMessage in class WorkspaceAction
Returns:
the problems message

getProblemsTitle

protected String getProblemsTitle()
Description copied from class: WorkspaceAction
Returns the title for this action's problems dialog.

The WorkspaceAction implementation of this method returns a generic title (localized counterpart of "Problems"). Subclasses may reimplement to provide something more suited to the particular action.

Overrides:
getProblemsTitle in class WorkspaceAction
Returns:
the problems dialog title

invokeOperation

protected void invokeOperation(IResource resource,
                               IProgressMonitor monitor)
                        throws CoreException
Description copied from class: WorkspaceAction
Performs this action's operation on each of the selected resources, reporting progress to, and fielding cancel requests from, the given progress monitor.

Note that this method is invoked in a non-UI thread.

Subclasses must implement this method.

Specified by:
invokeOperation in class WorkspaceAction
Parameters:
resource - one of the selected resources
monitor - a progress monitor
Throws:
CoreException - if the operation fails

isEnabled

public boolean isEnabled()
Description copied from interface: IAction
Returns whether this action is enabled.

This method is associated with the ENABLED property; property change events are reported when its value changes.

Specified by:
isEnabled in interface IAction
Overrides:
isEnabled in class Action

isSaveAllSet

public static boolean isSaveAllSet()
Returns whether the user's preference is set to automatically save modified resources before a manual build is done.

Returns:
true if Save All Before Build is enabled

run

public void run()
Description copied from class: WorkspaceAction
The CoreWrapperAction implementation of this IAction method uses a ProgressMonitorDialog to run the operation. The operation calls execute (which, in turn, calls invokeOperation). Afterwards, any CoreExceptions encountered while running the operation are reported to the user via a problems dialog.

Subclasses may extend this method.

Specified by:
run in interface IAction
Overrides:
run in class WorkspaceAction

shouldPerformResourcePruning

protected boolean shouldPerformResourcePruning()
Description copied from class: WorkspaceAction
Returns whether this action should attempt to optimize the resources being operated on. This kind of pruning makes sense when the operation has depth infinity semantics (when the operation is applied explicitly to a resource then it is also applied implicitly to all the resource's descendents).

The WorkspaceAction implementation of this method returns true. Subclasses should reimplement to return false if pruning is not required.

Overrides:
shouldPerformResourcePruning in class WorkspaceAction
Returns:
true if pruning should be performed, and false if pruning is not desired

updateSelection

protected boolean updateSelection(IStructuredSelection s)
The BuildAction implementation of this SelectionListenerAction method ensures that this action is enabled only if all of the selected resources have buildable projects.

Overrides:
updateSelection in class WorkspaceAction

Eclipse Platform
Release 3.1

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2005. All rights reserved.