Package org.jfree.report.modules.gui.swing.common.action

# Class AbstractFileSelectionAction

java.lang.Object
javax.swing.AbstractAction
org.jfree.report.modules.gui.swing.common.action.AbstractActionDowngrade
org.jfree.report.modules.gui.swing.common.action.AbstractFileSelectionAction

All Implemented Interfaces:
  `ActionListener`, `Serializable`, `Cloneable`, `EventListener`, `Action`, `ActionDowngrade`

public abstract class AbstractFileSelectionAction extends AbstractActionDowngrade
A base class for all file operations. This implementation provides all methods to let the user select a file.

Author:
  Thomas Morgner
See Also:
  - Serialized Form

## Field Summary

### Fields inherited from class org.jfree.report.modules.gui.swing.common.action.AbstractActionDowngrade

`ACCELERATOR_KEY, MNEMONIC_KEY`

### Fields inherited from class javax.swing.AbstractAction

`changeSupport, enabled`

### Fields inherited from interface javax.swing.Action

`ACTION_COMMAND_KEY, DEFAULT, DISPLAYED_MNEMONIC_INDEX_KEY, LARGE_ICON_KEY, LONG_DESCRIPTION, NAME, SELECTED_KEY, SHORT_DESCRIPTION, SMALL_ICON`

## Constructor Summary

Constructors
Constructor
Description
`AbstractFileSelectionAction(Component parent)`
Creates a new FileSelectionAction with the given optional parent component as parent for the file chooser dialog.

## Method Summary

Modifier and Type
Method
Description
`protected JFileChooser`
`createFileChooser()`
Creates the file chooser.
`protected File`
`getCurrentDirectory()`
Returns the working directory that should be used when initializing the FileChooser.
`protected abstract String`
`getFileDescription()`
Returns a descriptive text describing the file extension.
`protected abstract String`
`getFileExtension()`
Returns the file extension that should be used for the operation.
`protected File`
`performSelectFile(File selectedFile, int dialogType, boolean appendExtension)`
Selects a file to use as target for the operation.

### Methods inherited from class javax.swing.AbstractAction

`addPropertyChangeListener, clone, firePropertyChange, getKeys, getPropertyChangeListeners, getValue, isEnabled, putValue, removePropertyChangeListener, setEnabled`

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface javax.swing.Action

`accept, addPropertyChangeListener, getValue, isEnabled, putValue, removePropertyChangeListener, setEnabled`

### Methods inherited from interface java.awt.event.ActionListener

`actionPerformed`

## Constructor Details

### AbstractFileSelectionAction

public AbstractFileSelectionAction(Component parent)
Creates a new FileSelectionAction with the given optional parent component as parent for the file chooser dialog.

Parameters:
  `parent` - the parent

## Method Details

### getFileExtension

protected abstract String getFileExtension()
Returns the file extension that should be used for the operation.

Returns:
  the file extension.

### getFileDescription

protected abstract String getFileDescription()
Returns a descriptive text describing the file extension.

Returns:
  the file description.

### getCurrentDirectory

protected File getCurrentDirectory()
Returns the working directory that should be used when initializing the FileChooser.

Returns:
  the working directory.

### performSelectFile

protected File performSelectFile(File selectedFile, int dialogType, boolean appendExtension)
Selects a file to use as target for the operation.

Parameters:
  `selectedFile` - the selected file.
  `dialogType` - the dialog type.
  `appendExtension` - true, if the file extension should be added if necessary, false if the unmodified filename should be used.
Returns:
  the selected and approved file or null, if the user canceled the operation

### createFileChooser

protected JFileChooser createFileChooser()
Creates the file chooser.

Returns:
  the initialized file chooser.