Eclipse Platform
Release 3.7

org.eclipse.ui.actions
Class BuildAction

java.lang.Object
  extended by org.eclipse.core.commands.common.EventManager
      extended by org.eclipse.jface.action.AbstractAction
          extended by org.eclipse.jface.action.Action
              extended by org.eclipse.ui.actions.BaseSelectionListenerAction
                  extended by org.eclipse.ui.actions.SelectionListenerAction
                      extended by org.eclipse.ui.actions.WorkspaceAction
                          extended by org.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) and their references project build configurations.

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

Restriction:
This class is not intended to be subclassed by clients.

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(IShellProvider provider, int type)
          Creates a new action of the appropriate type.
BuildAction(Shell shell, int type)
          Deprecated. See BuildAction(IShellProvider, int)
 
Method Summary
protected  List getActionResources()
          Returns the elements that the action is to be performed on.
protected  List getBuildConfigurationsToBuild()
          This collection of project build configs, derived from the selected resources, is passed to the workspace for building.
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.
 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.
 void runInBackground(ISchedulingRule rule, Object[] jobFamilies)
          Run the action in the background rather than with the progress dialog.
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
createOperation, invokeOperation, 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
convertAccelerator, convertAccelerator, findKeyCode, findKeyString, findModifier, findModifierString, getAccelerator, getActionDefinitionId, getDescription, getDisabledImageDescriptor, getHelpListener, getHoverImageDescriptor, getId, getImageDescriptor, getMenuCreator, getStyle, getText, getToolTipText, isChecked, isHandled, notifyResult, removeAcceleratorText, removeMnemonics, setAccelerator, setActionDefinitionId, setChecked, setDescription, setDisabledImageDescriptor, setEnabled, setHelpListener, setHoverImageDescriptor, setId, setImageDescriptor, setMenuCreator, setText, setToolTipText
 
Methods inherited from class org.eclipse.jface.action.AbstractAction
addPropertyChangeListener, firePropertyChange, firePropertyChange, removePropertyChangeListener
 
Methods inherited from class org.eclipse.core.commands.common.EventManager
addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.jface.action.IAction
addPropertyChangeListener, removePropertyChangeListener
 

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)
Deprecated. See BuildAction(IShellProvider, int)

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

BuildAction

public BuildAction(IShellProvider provider,
                   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:
provider - the shell provider for any dialogs
type - the type of build; one of IncrementalProjectBuilder.INCREMENTAL_BUILD or IncrementalProjectBuilder.FULL_BUILD
Since:
3.4
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

getBuildConfigurationsToBuild

protected List getBuildConfigurationsToBuild()
This collection of project build configs, derived from the selected resources, is passed to the workspace for building. The Workspace is responsible for resolving references.

Returns:
List of project build configurations to build.
Since:
3.7

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
Returns:
true if enabled, and false if disabled
See Also:
IAction.ENABLED

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

runInBackground

public void runInBackground(ISchedulingRule rule,
                            Object[] jobFamilies)
Description copied from class: WorkspaceAction
Run the action in the background rather than with the progress dialog.

Overrides:
runInBackground in class WorkspaceAction
Parameters:
rule - The rule to apply to the background job or null if there isn't one.
jobFamilies - the families the job should belong to or null if none.

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
Parameters:
s - the new selection
Returns:
true if the action should be enabled for this selection, and false otherwise

Eclipse Platform
Release 3.7

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2011. All rights reserved.