Package org.eclipse.ui.editors.text

## Class FileBufferOperationAction

- java.lang.Object
- - org.eclipse.core.commands.common.EventManager
  - - org.eclipse.jface.action.AbstractAction
    - - org.eclipse.jface.action.Action
      - - org.eclipse.ui.editors.text.FileBufferOperationAction

All Implemented Interfaces:
  `IAction`, `IActionDelegate`, `IWorkbenchWindowActionDelegate`

    public class FileBufferOperationAction
    extends Action
    implements IWorkbenchWindowActionDelegate

File buffer operation action.

Since:
  3.1

### Field Summary

Fields
`protected IFileBufferOperation` `fFileBufferOperation`

### 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

Constructors
`protected` `FileBufferOperationAction​(IFileBufferOperation fileBufferOperation)`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected IFile[]` `collectFiles​(IResource[] resources)` Collect the files to process.
`void` `dispose()` Disposes this action delegate.
`protected void` `doRun​(IFile[] files, IPath location, IFileBufferOperation fileBufferOperation)`
`protected IPath[]` `generateLocations​(IFile[] files, IProgressMonitor progressMonitor)`
`protected Shell` `getShell()`
`protected IWorkbenchWindow` `getWorkbenchWindow()`
`void` `init​(IWorkbenchWindow window)` Initializes this action delegate with the workbench window it will work in.
`protected boolean` `isAcceptableLocation​(IPath location)` Tells whether this action accepts the given location.
`void` `run​(IAction action)` Performs this action.
`void` `selectionChanged​(IAction action, ISelection selection)` Notifies this action delegate that the selection in the workbench has changed.

### 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, isEnabled, isHandled, notifyResult, removeAcceleratorText, removeMnemonics, run, runWithEvent, 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`

### Field Detail

#### fFileBufferOperation

    protected IFileBufferOperation fFileBufferOperation

### Constructor Detail

#### FileBufferOperationAction

    protected FileBufferOperationAction​(IFileBufferOperation fileBufferOperation)

### Method Detail

#### dispose

    public void dispose()

Description copied from interface: `IWorkbenchWindowActionDelegate`
Disposes this action delegate. The implementor should unhook any references to itself so that garbage collection can occur.

Specified by:
  `dispose` in interface `IWorkbenchWindowActionDelegate`

#### init

    public void init​(IWorkbenchWindow window)

Description copied from interface: `IWorkbenchWindowActionDelegate`
Initializes this action delegate with the workbench window it will work in.

Specified by:
  `init` in interface `IWorkbenchWindowActionDelegate`
Parameters:
  `window` - the window that provides the context for this delegate

#### selectionChanged

    public void selectionChanged​(IAction action,
                                 ISelection selection)

Description copied from interface: `IActionDelegate`
Notifies this action delegate that the selection in the workbench has changed.

Implementers can use this opportunity to change the availability of the action or to modify other presentation properties.

When the selection changes, the action enablement state is updated based on the criteria specified in the plugin.xml file. Then the delegate is notified of the selection change regardless of whether the enablement criteria in the plugin.xml file is met.

Specified by:
  `selectionChanged` in interface `IActionDelegate`
Parameters:
  `action` - the action proxy that handles presentation portion of the action
  `selection` - the current selection, or `null` if there is no selection.

#### getWorkbenchWindow

    protected final IWorkbenchWindow getWorkbenchWindow()

#### getShell

    protected final Shell getShell()

#### run

    public void run​(IAction action)

Description copied from interface: `IActionDelegate`
Performs this action.

This method is called by the proxy action when the action has been triggered. Implement this method to do the actual work.

Note: If the action delegate also implements `IActionDelegate2`, then this method is not invoked but instead the `runWithEvent(IAction, Event)` method is called.

Specified by:
  `run` in interface `IActionDelegate`
Parameters:
  `action` - the action proxy that handles the presentation portion of the action

#### collectFiles

    protected IFile[] collectFiles​(IResource[] resources)

Collect the files to process. This method may show a dialog to ask the user. Subclasses may extend or reimplement.

Parameters:
  `resources` - selected resources
Returns:
  the files to process, can be `null`

#### doRun

    protected final void doRun​(IFile[] files,
                               IPath location,
                               IFileBufferOperation fileBufferOperation)

#### generateLocations

    protected final IPath[] generateLocations​(IFile[] files,
                                              IProgressMonitor progressMonitor)

#### isAcceptableLocation

    protected boolean isAcceptableLocation​(IPath location)

Tells whether this action accepts the given location.

Parameters:
  `location` - the location
Returns:
  `true` if the given location is acceptable