adams.gui.chooser
Class EmailFileChooser

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by com.googlecode.vfsjfilechooser2.VFSJFileChooser
                  extended by adams.gui.chooser.BaseFileChooser
                      extended by adams.gui.chooser.AbstractExtensionFileFilterFileChooser<EmailFileChooser.EmailFileExtensionFilter>
                          extended by adams.gui.chooser.EmailFileChooser
All Implemented Interfaces:
FileTypeDeterminingFileChooser<EmailFileReader,EmailFileWriter>, ImageObserver, MenuContainer, Serializable, Accessible

public class EmailFileChooser
extends AbstractExtensionFileFilterFileChooser<EmailFileChooser.EmailFileExtensionFilter>
implements FileTypeDeterminingFileChooser<EmailFileReader,EmailFileWriter>

A specialized JFileChooser that lists all available file Readers and Writers for emails.

Version:
$Revision: 7123 $
Author:
fracpete (fracpete at waikato dot ac dot nz)
See Also:
Serialized Form

Nested Class Summary
static class EmailFileChooser.EmailFileExtensionFilter
          A custom filter class that stores the associated class along the description and extensions.
 
Nested classes/interfaces inherited from class adams.gui.chooser.BaseFileChooser
BaseFileChooser.BaseVFSFileChooserUI, BaseFileChooser.PlaceholderFileConverter
 
Nested classes/interfaces inherited from class com.googlecode.vfsjfilechooser2.VFSJFileChooser
com.googlecode.vfsjfilechooser2.VFSJFileChooser.AccessibleJFileChooser, com.googlecode.vfsjfilechooser2.VFSJFileChooser.DIALOG_TYPE, com.googlecode.vfsjfilechooser2.VFSJFileChooser.RETURN_TYPE, com.googlecode.vfsjfilechooser2.VFSJFileChooser.SELECTION_MODE
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  JCheckBox m_CheckBoxOptions
          the checkbox for bringing up the GenericObjectEditor.
protected  JButton m_ConfigureButton
          the configure button.
protected  GenericObjectEditor m_Editor
          the GOE for displaying the options of a reader/writer.
protected  JLabel m_LabelOptions
          the note about the options dialog.
protected static Vector<EmailFileChooser.EmailFileExtensionFilter> m_ReaderFileFilters
          the file filters for the readers.
protected static Vector<EmailFileChooser.EmailFileExtensionFilter> m_WriterFileFilters
          the file filters for the writers.
 
Fields inherited from class adams.gui.chooser.AbstractExtensionFileFilterFileChooser
m_CurrentHandler, m_DialogType, m_FileMustExist, m_LastFilter, m_Listener, m_Self, OPEN_DIALOG, SAVE_DIALOG, UNHANDLED_DIALOG
 
Fields inherited from class adams.gui.chooser.BaseFileChooser
m_AllowGlobFilters, m_AutoAppendExtension, m_DefaultExtension, m_PromptOverwriteFile
 
Fields inherited from class com.googlecode.vfsjfilechooser2.VFSJFileChooser
fileObjectConverter, m_accessibleContext
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
EmailFileChooser()
          Constructs a FileChooser pointing to the user's default directory.
EmailFileChooser(File currentDirectory)
          Constructs a FileChooser using the given File as the path.
EmailFileChooser(String currentDirectory)
          Constructs a FileChooser using the given path.
 
Method Summary
protected  void configureCurrentHandlerHook(int dialogType)
          configures the current converter.
protected  void doInitializeFilters()
          Performs the actual initialization of the filters.
protected  EmailFileReader getDefaultReader()
          Returns the default reader.
protected  EmailFileWriter getDefaultWriter()
          Returns the default writer.
protected  boolean getFiltersInitialized()
          Returns whether the filters have already been initialized.
protected  Vector<EmailFileChooser.EmailFileExtensionFilter> getOpenFileFilters()
          Returns the file filters for opening files.
 EmailFileReader getReader()
          returns the reader that was chosen by the user, can be null in case the user aborted the dialog or the save dialog was shown.
 EmailFileReader getReaderForFile(File file)
          Returns the reader for the specified file.
protected  Vector<EmailFileChooser.EmailFileExtensionFilter> getSaveFileFilters()
          Returns the file filters for writing files.
 EmailFileWriter getWriter()
          returns the writer that was chosen by the user, can be null in case the user aborted the dialog or the open dialog was shown.
 EmailFileWriter getWriterForFile(File file)
          Returns the writer for the specified file.
protected static void initFilters(boolean reader, String[] classnames)
          initializes the SpreadSheetFileExtensionFilters.
protected  void initGUI(int dialogType)
          initializes the GUI.
protected  void initialize()
          Further initializations.
 com.googlecode.vfsjfilechooser2.VFSJFileChooser.RETURN_TYPE showOpenDialog(Component parent)
          Pops up an "Open File" file chooser dialog.
 com.googlecode.vfsjfilechooser2.VFSJFileChooser.RETURN_TYPE showSaveDialog(Component parent)
          Pops up an "Save File" file chooser dialog.
protected  void updateCurrentHandlerHook()
          sets the current converter according to the current filefilter.
 
Methods inherited from class adams.gui.chooser.AbstractExtensionFileFilterFileChooser
getFileMustExist, initializeFilters, restoreLastFilter, setAcceptAllFileFilterUsed, setFileMustExist, showDialog
 
Methods inherited from class adams.gui.chooser.BaseFileChooser
addChoosableFileFilter, createDefaultUI, getAllowGlobFilters, getAutoAppendExtension, getCurrentPlaceholderDirectory, getDefaultExtension, getPromptOverwriteFile, getSelectedPlaceholderFile, getSelectedPlaceholderFiles, hasCorrectExtension, isGlobFilter, setAllowGlobFilters, setAutoAppendExtension, setCurrentDirectory, setDefaultExtension, setPromptOverwriteFile, setSelectedFile, setSelectedFiles
 
Methods inherited from class com.googlecode.vfsjfilechooser2.VFSJFileChooser
accept, addActionListener, approveSelection, cancelSelection, changeToParentDirectory, createDialog, ensureFileIsVisible, fireActionPerformed, getAcceptAllFileFilter, getAccessibleContext, getAccessory, getActionListeners, getApproveButtonMnemonic, getApproveButtonText, getApproveButtonToolTipText, getChoosableFileFilters, getControlButtonsAreShown, getCurrentDirectory, getCurrentDirectoryObject, getDescription, getDialogTitle, getDialogType, getDragEnabled, getFileFilter, getFileObjectConverter, getFileSelectionMode, getFileSystemView, getFileView, getHomeFolderButton, getIcon, getName, getNavigationButtonsPanel, getNewFolderButton, getSelectedFile, getSelectedFileObject, getSelectedFileObjects, getSelectedFiles, getTypeDescription, getUI, getUIClassID, getUpFolderButton, isAcceptAllFileFilterUsed, isDirectorySelectionEnabled, isFileHidingEnabled, isFileSelectionEnabled, isMultiSelectionEnabled, isTraversable, paramString, removeActionListener, removeChoosableFileFilter, rescanCurrentDirectory, resetChoosableFileFilters, setAccessory, setApproveButtonMnemonic, setApproveButtonMnemonic, setApproveButtonText, setApproveButtonToolTipText, setControlButtonsAreShown, setCurrentDirectoryObject, setDialogTitle, setDialogType, setDragEnabled, setFileFilter, setFileHidingEnabled, setFileObjectConverter, setFileSelectionMode, setFileSystemView, setFileView, setMultiSelectionEnabled, setSelectedFileObject, setSelectedFileObjects, setup, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

m_ReaderFileFilters

protected static Vector<EmailFileChooser.EmailFileExtensionFilter> m_ReaderFileFilters
the file filters for the readers.


m_WriterFileFilters

protected static Vector<EmailFileChooser.EmailFileExtensionFilter> m_WriterFileFilters
the file filters for the writers.


m_ConfigureButton

protected JButton m_ConfigureButton
the configure button.


m_CheckBoxOptions

protected JCheckBox m_CheckBoxOptions
the checkbox for bringing up the GenericObjectEditor.


m_LabelOptions

protected JLabel m_LabelOptions
the note about the options dialog.


m_Editor

protected GenericObjectEditor m_Editor
the GOE for displaying the options of a reader/writer.

Constructor Detail

EmailFileChooser

public EmailFileChooser()
Constructs a FileChooser pointing to the user's default directory.


EmailFileChooser

public EmailFileChooser(File currentDirectory)
Constructs a FileChooser using the given File as the path.

Parameters:
currentDirectory - the path to start in

EmailFileChooser

public EmailFileChooser(String currentDirectory)
Constructs a FileChooser using the given path.

Parameters:
currentDirectory - the path to start in
Method Detail

initialize

protected void initialize()
Further initializations.

Overrides:
initialize in class AbstractExtensionFileFilterFileChooser<EmailFileChooser.EmailFileExtensionFilter>

getFiltersInitialized

protected boolean getFiltersInitialized()
Returns whether the filters have already been initialized.

Specified by:
getFiltersInitialized in class AbstractExtensionFileFilterFileChooser<EmailFileChooser.EmailFileExtensionFilter>
Returns:
true if the filters have been initialized

doInitializeFilters

protected void doInitializeFilters()
Performs the actual initialization of the filters.

Specified by:
doInitializeFilters in class AbstractExtensionFileFilterFileChooser<EmailFileChooser.EmailFileExtensionFilter>

initFilters

protected static void initFilters(boolean reader,
                                  String[] classnames)
initializes the SpreadSheetFileExtensionFilters.

Parameters:
reader - if true then the reader filters are initialized
classnames - the classnames of the converters

getOpenFileFilters

protected Vector<EmailFileChooser.EmailFileExtensionFilter> getOpenFileFilters()
Returns the file filters for opening files.

Specified by:
getOpenFileFilters in class AbstractExtensionFileFilterFileChooser<EmailFileChooser.EmailFileExtensionFilter>
Returns:
the file filters

getSaveFileFilters

protected Vector<EmailFileChooser.EmailFileExtensionFilter> getSaveFileFilters()
Returns the file filters for writing files.

Specified by:
getSaveFileFilters in class AbstractExtensionFileFilterFileChooser<EmailFileChooser.EmailFileExtensionFilter>
Returns:
the file filters

initGUI

protected void initGUI(int dialogType)
initializes the GUI.

Overrides:
initGUI in class AbstractExtensionFileFilterFileChooser<EmailFileChooser.EmailFileExtensionFilter>
Parameters:
dialogType - the type of dialog to setup the GUI for

getDefaultReader

protected EmailFileReader getDefaultReader()
Returns the default reader.

Returns:
the default reader

getDefaultWriter

protected EmailFileWriter getDefaultWriter()
Returns the default writer.

Returns:
the default writer

showOpenDialog

public com.googlecode.vfsjfilechooser2.VFSJFileChooser.RETURN_TYPE showOpenDialog(Component parent)
Pops up an "Open File" file chooser dialog.

Overrides:
showOpenDialog in class AbstractExtensionFileFilterFileChooser<EmailFileChooser.EmailFileExtensionFilter>
Parameters:
parent - the parent of this file chooser
Returns:
the result of the user's action

showSaveDialog

public com.googlecode.vfsjfilechooser2.VFSJFileChooser.RETURN_TYPE showSaveDialog(Component parent)
Pops up an "Save File" file chooser dialog.

Overrides:
showSaveDialog in class AbstractExtensionFileFilterFileChooser<EmailFileChooser.EmailFileExtensionFilter>
Parameters:
parent - the parent of this file chooser
Returns:
the result of the user's action

getReader

public EmailFileReader getReader()
returns the reader that was chosen by the user, can be null in case the user aborted the dialog or the save dialog was shown.

Returns:
the chosen reader, if any

getWriter

public EmailFileWriter getWriter()
returns the writer that was chosen by the user, can be null in case the user aborted the dialog or the open dialog was shown.

Returns:
the chosen writer, if any

updateCurrentHandlerHook

protected void updateCurrentHandlerHook()
sets the current converter according to the current filefilter.

Overrides:
updateCurrentHandlerHook in class AbstractExtensionFileFilterFileChooser<EmailFileChooser.EmailFileExtensionFilter>

configureCurrentHandlerHook

protected void configureCurrentHandlerHook(int dialogType)
configures the current converter.

Overrides:
configureCurrentHandlerHook in class AbstractExtensionFileFilterFileChooser<EmailFileChooser.EmailFileExtensionFilter>
Parameters:
dialogType - the type of dialog to configure for

getReaderForFile

public EmailFileReader getReaderForFile(File file)
Returns the reader for the specified file.

Specified by:
getReaderForFile in interface FileTypeDeterminingFileChooser<EmailFileReader,EmailFileWriter>
Parameters:
file - the file to determine a reader for
Returns:
the reader, null if none found

getWriterForFile

public EmailFileWriter getWriterForFile(File file)
Returns the writer for the specified file.

Specified by:
getWriterForFile in interface FileTypeDeterminingFileChooser<EmailFileReader,EmailFileWriter>
Parameters:
file - the file to determine a reader for
Returns:
the writer, null if none found


Copyright © 2013 University of Waikato, Hamilton, NZ. All Rights Reserved.