Package org.eclipse.team.ui.mapping
Class MergeActionHandler
- java.lang.Object
-
- org.eclipse.core.commands.common.EventManager
-
- org.eclipse.core.commands.AbstractHandler
-
- org.eclipse.team.ui.mapping.MergeActionHandler
-
public abstract class MergeActionHandler extends AbstractHandler
An abstract superclass that enables models to create handlers for the basic merge operations (merge, overwrite and mark-as-merged). This class makes use of aSynchronizationOperation
to determine its enablement state and execute the handler. Enablement is determined usingSynchronizationOperation.shouldRun()
and the handler will invokeTeamOperation.run()
when executed.- Since:
- 3.2
- See Also:
SynchronizationActionProvider
-
-
Constructor Summary
Constructors Constructor Description MergeActionHandler(ISynchronizePageConfiguration configuration)
Create the handler.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
dispose()
Deregister this handler from selection change events.Object
execute(ExecutionEvent event)
Executes with the map of parameter values by name.protected ISynchronizePageConfiguration
getConfiguration()
Return the configuration of the synchronize page that is surfacing the merge action to which this handler is registered.static IHandler
getDefaultHandler(String mergeActionId, ISynchronizePageConfiguration configuration)
Return an instance of the default handler for the given merge action id.protected abstract SynchronizationOperation
getOperation()
Return the synchronization operation that performs the merge operation.SaveableComparison
getSaveable()
Return the saveable that is the target of this handler.protected IStructuredSelection
getStructuredSelection()
Return the current selection.boolean
isEnabled()
Whether this handler is capable of executing at this time.protected void
setEnabled(boolean isEnabled)
Set the enablement of this handler.protected void
updateEnablement(IStructuredSelection selection)
Update the enablement of this handler for the new selection.-
Methods inherited from class org.eclipse.core.commands.AbstractHandler
addHandlerListener, fireHandlerChanged, hasListeners, isHandled, removeHandlerListener, setBaseEnabled, setEnabled
-
Methods inherited from class org.eclipse.core.commands.common.EventManager
addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject
-
-
-
-
Constructor Detail
-
MergeActionHandler
public MergeActionHandler(ISynchronizePageConfiguration configuration)
Create the handler.- Parameters:
configuration
- the configuration for the synchronize page displaying the model.
-
-
Method Detail
-
getDefaultHandler
public static IHandler getDefaultHandler(String mergeActionId, ISynchronizePageConfiguration configuration)
Return an instance of the default handler for the given merge action id. Note that this handler must be disposed by the caller when it is no longer needed.- Parameters:
mergeActionId
- the merge action idconfiguration
- the synchronization page configuration- Returns:
- the default handler for the given merge action or
null
-
dispose
public void dispose()
Deregister this handler from selection change events.- Specified by:
dispose
in interfaceIHandler
- Overrides:
dispose
in classAbstractHandler
-
updateEnablement
protected void updateEnablement(IStructuredSelection selection)
Update the enablement of this handler for the new selection. By default, this method uses theshouldRun
method of the handler's operation to determine the enablement of this handler. Subclasses may override but should either still invoke this method or callsetEnabled(boolean)
to set the enablement.- Parameters:
selection
- the selection
-
getConfiguration
protected final ISynchronizePageConfiguration getConfiguration()
Return the configuration of the synchronize page that is surfacing the merge action to which this handler is registered.- Returns:
- the synchronize page configuration
-
getStructuredSelection
protected final IStructuredSelection getStructuredSelection()
Return the current selection.- Returns:
- the current selection.
-
isEnabled
public boolean isEnabled()
Description copied from class:AbstractHandler
Whether this handler is capable of executing at this time. Subclasses may override this method. If clients override this method they should also consider overridingAbstractHandler.setEnabled(Object)
so they can be notified about framework execution contexts.- Specified by:
isEnabled
in interfaceIHandler
- Overrides:
isEnabled
in classAbstractHandler
- Returns:
true
- See Also:
AbstractHandler.setEnabled(Object)
,AbstractHandler.setBaseEnabled(boolean)
-
setEnabled
protected void setEnabled(boolean isEnabled)
Set the enablement of this handler.- Parameters:
isEnabled
- whether the handler is enabled
-
execute
public Object execute(ExecutionEvent event) throws ExecutionException
Description copied from interface:IHandler
Executes with the map of parameter values by name.- Parameters:
event
- An event containing all the information about the current state of the application; must not benull
.- Returns:
- the result of the execution. Reserved for future use, must be
null
. - Throws:
ExecutionException
- if an exception occurred during execution.
-
getOperation
protected abstract SynchronizationOperation getOperation()
Return the synchronization operation that performs the merge operation.- Returns:
- a synchronization operation
-
getSaveable
public SaveableComparison getSaveable()
Return the saveable that is the target of this handler. By default, the saveable of this handlers operation is returned.- Returns:
- the saveable that is the target of this operation
-
-