org.lyra.Interface
Class PlaylistSaveDialog

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Dialog
                  extended by javax.swing.JDialog
                      extended by org.lyra.Interface.PlaylistSaveDialog
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.lang.Runnable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class PlaylistSaveDialog
extends javax.swing.JDialog
implements java.lang.Runnable

The ability to save a playlist is not limited in scope. Not only do we need to confirm a name for the list, we also need to select if it will be a global or local list. Local lists are essentially restricted to use on this specific installation only.

Version:
1.0.5, %Revision, 174%, %LastChangedDate, 27/10/12 3:33PM%
Author:
Martin Foster
See Also:
Serialized Form

Nested Class Summary
private  class PlaylistSaveDialog.Interact
          Implements the most basic logic elements.
 class PlaylistSaveDialog.PlaylistSave
          Simple all encompassing class which is used to pass on all of the necessary class details in order to process a save request.
 
Nested classes/interfaces inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
 
Nested classes/interfaces inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  javax.swing.JTextArea areaMessage
           
private  javax.swing.JButton buttonCancel
           
private  javax.swing.JButton buttonSave
           
private  javax.swing.JCheckBox checkService
           
private  javax.swing.JTextField fieldName
           
private  javax.swing.JLabel iconMessage
           
private  javax.swing.JLabel iconResize
           
private  boolean Integrate
           
private  PlaylistSaveDialog.Interact Interface
           
private  javax.swing.JPanel jContentPane
           
private  javax.swing.JLabel labelLocal
           
private  javax.swing.JLabel labelRemote
           
private  javax.swing.JLabel labelService
           
private  java.util.Map<java.lang.String,java.lang.String> Lang
           
private  boolean Local
           
private  javax.swing.JDialog myFrame
           
private  java.util.Set<java.lang.String> myLocal
           
private  java.util.Set<java.lang.String> myRemote
           
private  java.lang.Thread myThread
           
private  java.lang.String Name
           
private  javax.swing.JPanel panelCommand
           
private  javax.swing.JPanel panelLocal
           
private  javax.swing.JPanel panelMessage
           
private  javax.swing.JPanel panelName
           
private  javax.swing.JPanel panelOptions
           
private  javax.swing.JPanel panelRemote
           
private  javax.swing.JPanel panelSelect
           
private  javax.swing.JPanel panelService
           
private  javax.swing.JPanel panelStatus
           
private  boolean Process
           
private  javax.swing.JRadioButton radioLocal
           
private  javax.swing.JRadioButton radioRemote
           
private static long serialVersionUID
           
private  boolean Service
           
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Dialog
DEFAULT_MODALITY_TYPE
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
private PlaylistSaveDialog(java.util.Map<java.lang.String,java.lang.String> lang, java.util.Set<java.lang.String> local, java.util.Set<java.lang.String> remote, boolean integrate, java.awt.Frame owner)
          Primary constructor for this class.
 
Method Summary
private  javax.swing.JTextArea getAreaMessage()
          This method initialises areaMessage.
private  javax.swing.JButton getButtonCancel()
          This method initialises buttonCancel.
private  javax.swing.JButton getButtonSave()
          This method initialises buttonSave.
private  javax.swing.JCheckBox getCheckService()
          This method initialises checkService.
private  javax.swing.JTextField getFieldName()
          This method initialises fieldName.
private  javax.swing.JLabel getIconMessage()
          Returns a formatted image used to decorate the dialog and conform to other existing lesser dialogs used.
private  javax.swing.JLabel getIconResize()
          This method initialises iconResize
private  javax.swing.JPanel getJContentPane()
          This method initialises jContentPane.
private  javax.swing.JLabel getLabelLocal()
          Returns a formatted label informing the user that this playlist will be saved locally only.
private  javax.swing.JLabel getLabelRemote()
          Returns a formatted label used to describe the fact that this list will be saved remotely.
private  javax.swing.JLabel getLabelService()
          Returns a formatted label informing the user that this playlist will be copied to the Last.fm service.
private  javax.swing.JPanel getPanelCommand()
          This method initialises panelCommand.
private  javax.swing.JPanel getPanelLocal()
          This method initialises panelLocal.
private  javax.swing.JPanel getPanelMessage()
          This method initialises panelMessage.
private  javax.swing.JPanel getPanelName()
          This method initialises panelName.
private  javax.swing.JPanel getPanelOptions()
          This method initialises panelOptions.
private  javax.swing.JPanel getPanelRemote()
          This method initialises panelRempote.
private  javax.swing.JPanel getPanelSelect()
          This method initialises panelSelect.
private  javax.swing.JPanel getPanelService()
          This method initialises panelService.
private  javax.swing.JPanel getPanelStatus()
          This method initialises panelStatus
private  PlaylistSaveDialog.PlaylistSave getPlaylistSave()
          Creates a new instance of PlaylistSave from information already collected.
private  javax.swing.JRadioButton getRadioLocal()
          This method initialises radioLocal.
private  javax.swing.JRadioButton getRadioRemote()
          This method initialises radioRemote.
static PlaylistSaveDialog.PlaylistSave getVerdict(java.util.Map<java.lang.String,java.lang.String> lang, java.util.Set<java.lang.String> local, java.util.Set<java.lang.String> remote, boolean integrate, java.awt.Frame owner)
          Element which will deal with the creation of the class instance and extracting the information prior to returning it to the calling program.
static PlaylistSaveDialog.PlaylistSave getVerdict(java.util.Map<java.lang.String,java.lang.String> lang, java.util.Set<java.lang.String> local, java.util.Set<java.lang.String> remote, java.awt.Frame owner)
          Element which will deal with the creation of the class instance and extracting the information prior to returning it to the calling program.
private  void initDialog(java.awt.Frame owner)
          This method initialises the look and feel of this dialog to a baseline.
 void run()
          This method will wait out until the HashMap is defined.
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Dialog
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setModalityType, setResizable, setTitle, setUndecorated, setVisible, show, toBack
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

jContentPane

private javax.swing.JPanel jContentPane

panelMessage

private javax.swing.JPanel panelMessage

iconMessage

private javax.swing.JLabel iconMessage

areaMessage

private javax.swing.JTextArea areaMessage

panelOptions

private javax.swing.JPanel panelOptions

panelSelect

private javax.swing.JPanel panelSelect

panelName

private javax.swing.JPanel panelName

fieldName

private javax.swing.JTextField fieldName

panelLocal

private javax.swing.JPanel panelLocal

radioLocal

private javax.swing.JRadioButton radioLocal

labelLocal

private javax.swing.JLabel labelLocal

panelRemote

private javax.swing.JPanel panelRemote

radioRemote

private javax.swing.JRadioButton radioRemote

labelRemote

private javax.swing.JLabel labelRemote

panelService

private javax.swing.JPanel panelService

labelService

private javax.swing.JLabel labelService

checkService

private javax.swing.JCheckBox checkService

panelCommand

private javax.swing.JPanel panelCommand

buttonSave

private javax.swing.JButton buttonSave

buttonCancel

private javax.swing.JButton buttonCancel

panelStatus

private javax.swing.JPanel panelStatus

iconResize

private javax.swing.JLabel iconResize

myLocal

private java.util.Set<java.lang.String> myLocal

myRemote

private java.util.Set<java.lang.String> myRemote

Lang

private java.util.Map<java.lang.String,java.lang.String> Lang

Integrate

private boolean Integrate

Interface

private PlaylistSaveDialog.Interact Interface

Local

private boolean Local

Service

private boolean Service

Name

private java.lang.String Name

Process

private boolean Process

myThread

private java.lang.Thread myThread

myFrame

private javax.swing.JDialog myFrame
Constructor Detail

PlaylistSaveDialog

private PlaylistSaveDialog(java.util.Map<java.lang.String,java.lang.String> lang,
                           java.util.Set<java.lang.String> local,
                           java.util.Set<java.lang.String> remote,
                           boolean integrate,
                           java.awt.Frame owner)
Primary constructor for this class. Is passed the necessary instances from the calling class to establish language and data elements.

Parameters:
lang - Instance of the Language map.
local - Set containing all local playlists.
remote - Set containing all remote playlists.
integrate - Boolean indicating need to integrate with Last.fm.
owner - Window owner to block.
Method Detail

getVerdict

public static PlaylistSaveDialog.PlaylistSave getVerdict(java.util.Map<java.lang.String,java.lang.String> lang,
                                                         java.util.Set<java.lang.String> local,
                                                         java.util.Set<java.lang.String> remote,
                                                         boolean integrate,
                                                         java.awt.Frame owner)
Element which will deal with the creation of the class instance and extracting the information prior to returning it to the calling program.

Parameters:
lang - Instance of the Language map.
local - Set containing all local playlists.
remote - Set containing all remote playlists.
integrate - Boolean containing integration flag for Last.fm Service.
owner - Window owner to block.
Returns:
Instance of PlaylistSave.

getVerdict

public static PlaylistSaveDialog.PlaylistSave getVerdict(java.util.Map<java.lang.String,java.lang.String> lang,
                                                         java.util.Set<java.lang.String> local,
                                                         java.util.Set<java.lang.String> remote,
                                                         java.awt.Frame owner)
Element which will deal with the creation of the class instance and extracting the information prior to returning it to the calling program.

Parameters:
lang - Instance of the Language map.
local - Set containing all local playlists.
remote - Set containing all remote playlists.
owner - Window owner to block.
Returns:
Instance of PlaylistSave.

getPlaylistSave

private PlaylistSaveDialog.PlaylistSave getPlaylistSave()
Creates a new instance of PlaylistSave from information already collected. This method should only be called after the values have been propagated.

Returns:
PlaylistSave instance.

run

public void run()
This method will wait out until the HashMap is defined. If not it will sleep until interrupted.

Specified by:
run in interface java.lang.Runnable

initDialog

private void initDialog(java.awt.Frame owner)
This method initialises the look and feel of this dialog to a baseline. This is the natural entry point after any constructor has finishes setting its own baseline.

Parameters:
owner - Window owner to block.

getJContentPane

private javax.swing.JPanel getJContentPane()
This method initialises jContentPane. This panel holds all of the other elements in the window.

Returns:
javax.swing.JPanel

getPanelMessage

private javax.swing.JPanel getPanelMessage()
This method initialises panelMessage. Contains the information and notices necessary to prompt the user to proceed with the process.

Returns:
javax.swing.JPanel

getAreaMessage

private javax.swing.JTextArea getAreaMessage()
This method initialises areaMessage. Designed to act like a multi line JLabel without any of the nasty side effects.

Returns:
javax.swing.JTextArea

getPanelOptions

private javax.swing.JPanel getPanelOptions()
This method initialises panelOptions. Options contain all of the elements necessary to proceed with the user request.

Returns:
javax.swing.JPanel

getPanelSelect

private javax.swing.JPanel getPanelSelect()
This method initialises panelSelect. Select contains all of the all of the check boxes and radio buttons.

Returns:
javax.swing.JPanel

getRadioLocal

private javax.swing.JRadioButton getRadioLocal()
This method initialises radioLocal. This is the direct option to select local existence of the playlist only.

Returns:
javax.swing.JRadioButton

getRadioRemote

private javax.swing.JRadioButton getRadioRemote()
This method initialises radioRemote. Direct option to select and save a playlist to the remote host.

Returns:
javax.swing.JRadioButton

getCheckService

private javax.swing.JCheckBox getCheckService()
This method initialises checkService. This option permits the saving of a playlist to the Last.fm service.

Returns:
javax.swing.JCheckBox

getLabelService

private javax.swing.JLabel getLabelService()
Returns a formatted label informing the user that this playlist will be copied to the Last.fm service.

Returns:
javax.swing.Label

getPanelService

private javax.swing.JPanel getPanelService()
This method initialises panelService. Simply groups the Service check button and associated label. Used mostly to add in the necessary spacers.

Returns:
javax.swing.JPanel

getPanelCommand

private javax.swing.JPanel getPanelCommand()
This method initialises panelCommand. Contains the necessary JButton elements to decide on a course of action.

Returns:
javax.swing.JPanel

getButtonSave

private javax.swing.JButton getButtonSave()
This method initialises buttonSave.

Returns:
javax.swing.JButton

getButtonCancel

private javax.swing.JButton getButtonCancel()
This method initialises buttonCancel.

Returns:
javax.swing.JButton

getFieldName

private javax.swing.JTextField getFieldName()
This method initialises fieldName.

Returns:
javax.swing.JTextField

getPanelLocal

private javax.swing.JPanel getPanelLocal()
This method initialises panelLocal. Simply groups the Local radio button and associated label. Used mostly to add in the necessary spacers.

Returns:
javax.swing.JPanel

getPanelRemote

private javax.swing.JPanel getPanelRemote()
This method initialises panelRempote. Simply groups the Remote radio button and associated label. Used mostly to add in the necessary spacers.

Returns:
javax.swing.JPanel

getPanelName

private javax.swing.JPanel getPanelName()
This method initialises panelName. Name panel, used mostly to establish a certain justification in the elements.

Returns:
javax.swing.JPanel

getIconMessage

private javax.swing.JLabel getIconMessage()
Returns a formatted image used to decorate the dialog and conform to other existing lesser dialogs used.

Returns:
javax.swing.Label

getLabelRemote

private javax.swing.JLabel getLabelRemote()
Returns a formatted label used to describe the fact that this list will be saved remotely.

Returns:
javax.swing.Label

getLabelLocal

private javax.swing.JLabel getLabelLocal()
Returns a formatted label informing the user that this playlist will be saved locally only.

Returns:
javax.swing.Label

getPanelStatus

private javax.swing.JPanel getPanelStatus()
This method initialises panelStatus

Returns:
javax.swing.JPanel

getIconResize

private javax.swing.JLabel getIconResize()
This method initialises iconResize

Returns:
javax.swing.JLabel