org.jets3t.gui
Class CopyObjectsDialog

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.jets3t.gui.CopyObjectsDialog
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class CopyObjectsDialog
extends javax.swing.JDialog
implements java.awt.event.ActionListener

Dialog for choosing the destination bucket for an Object copy operation, and specifying how the copy will be performed. The dialog includes options for renaming object keys during the copy, and for indicating that the copy will actually be a Move operation - in which case the original objects should be deleted after the copy has completed successfully.

See Also:
Serialized Form

Nested Class Summary
 
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
 
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
CopyObjectsDialog(java.awt.Frame owner, java.lang.String title, SkinsFactory skinsFactory, S3Object[] objects, S3Bucket[] buckets)
          Construct a modal dialog for controlling copy opeations.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          Event handler for this dialog.
 java.lang.String getDestinationBucketName()
           
 S3Object[] getDestinationObjects()
           
 java.lang.String[] getSourceObjectKeys()
           
 boolean isCopyActionApproved()
           
 boolean isCopyOriginalAccessControlLists()
           
 boolean isMoveOptionSelected()
           
protected  void refreshNamesPreviewTable()
          Refreshes the preview table to display the target keys that will be generated by the proposed renaming pattern.
protected  java.lang.String renameObjectKey(java.lang.String key, int offset)
          Return the renamed key for an object based on the current renaming pattern.
protected  java.util.Set renameObjectKeys(S3Object[] objects)
           
 
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
 

Constructor Detail

CopyObjectsDialog

public CopyObjectsDialog(java.awt.Frame owner,
                         java.lang.String title,
                         SkinsFactory skinsFactory,
                         S3Object[] objects,
                         S3Bucket[] buckets)
Construct a modal dialog for controlling copy opeations.

Parameters:
owner - the Frame over which the dialog will be displayed and centred.
title - a title for the dialog.
skinsFactory - factory for producing skinned GUI components.
objects - the S3 objects that will be copied if the user confirms the dialog.
buckets - a list of S3 buckets to which the user can copy objects.
Method Detail

renameObjectKeys

protected java.util.Set renameObjectKeys(S3Object[] objects)
Parameters:
objects - the objects that will be renamed.
Returns:
the renamed keys that will result from the proposed renaming pattern.

renameObjectKey

protected java.lang.String renameObjectKey(java.lang.String key,
                                           int offset)
Return the renamed key for an object based on the current renaming pattern. This method calculates values for the {key}, {count}, {path}, {filename}, {basename} and {ext} variables from the original key name, and returns the destination key name when these values are substituted into the current pattern.

The substitution variables supported by this method are:

Parameters:
key - the original name of an S3 object.
offset - the offset for the current object in a set of objects, eg this is the ith object in the list. This information is necessary to enable the {count}
Returns:
the renamed object key generated by the renaming pattern.

refreshNamesPreviewTable

protected void refreshNamesPreviewTable()
Refreshes the preview table to display the target keys that will be generated by the proposed renaming pattern.


actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Event handler for this dialog.

Specified by:
actionPerformed in interface java.awt.event.ActionListener

isCopyActionApproved

public boolean isCopyActionApproved()
Returns:
true if the user accepted the copy/move operation, false if the user cancelled the dialog.

isMoveOptionSelected

public boolean isMoveOptionSelected()
Returns:
true if the user selected the Move option to indicate that objects should be moved, rather than merely copied.

isCopyOriginalAccessControlLists

public boolean isCopyOriginalAccessControlLists()
Returns:
true if the use wishes to have the ACL settings of their source objects retained after the copy.

getSourceObjectKeys

public java.lang.String[] getSourceObjectKeys()
Returns:
the original key names of the S3 objects that should be copied or moved when this dialog is accepted.

getDestinationObjects

public S3Object[] getDestinationObjects()
Returns:
the objects that will be created as the destination of a copy or move operation. These objects include the metadata changes and Access Control List setting applied by the user.

getDestinationBucketName

public java.lang.String getDestinationBucketName()
Returns:
the name of the bucket to which objects should be copied or moved, as chosen by the user.