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:
    `java.awt.event.ActionListener`, `java.io.Serializable`, `java.lang.Cloneable`, `java.util.EventListener`, `javax.swing.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​(java.awt.Component parent)` | Creates a new FileSelectionAction with the given optional parent component as parent for the file chooser dialog.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected javax.swing.JFileChooser` | `createFileChooser()` | Creates the file chooser.
    `protected java.io.File` | `getCurrentDirectory()` | Returns the working directory that should be used when initializing the FileChooser.
    `protected abstract java.lang.String` | `getFileDescription()` | Returns a descriptive text describing the file extension.
    `protected abstract java.lang.String` | `getFileExtension()` | Returns the file extension that should be used for the operation.
    `protected java.io.File` | `performSelectFile​(java.io.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 Detail

    - #### AbstractFileSelectionAction

          public AbstractFileSelectionAction​(java.awt.Component parent)

      Creates a new FileSelectionAction with the given optional parent component as parent for the file chooser dialog.
      Parameters:
        `parent` - the parent

  - ### Method Detail

    - #### getFileExtension

          protected abstract java.lang.String getFileExtension()

      Returns the file extension that should be used for the operation.
      Returns:
        the file extension.

    - #### getFileDescription

          protected abstract java.lang.String getFileDescription()

      Returns a descriptive text describing the file extension.
      Returns:
        the file description.

    - #### getCurrentDirectory

          protected java.io.File getCurrentDirectory()

      Returns the working directory that should be used when initializing the FileChooser.
      Returns:
        the working directory.

    - #### performSelectFile

          protected java.io.File performSelectFile​(java.io.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 javax.swing.JFileChooser createFileChooser()

      Creates the file chooser.
      Returns:
        the initialized file chooser.