com.guiseframework.component
Class PlatformFileUploadPanel

java.lang.Object
  extended by com.globalmentor.beans.BoundPropertyObject
      extended by com.guiseframework.event.GuiseBoundPropertyObject
          extended by com.guiseframework.model.ui.AbstractPresentationModel
              extended by com.guiseframework.component.AbstractComponent
                  extended by com.guiseframework.component.AbstractCompositeComponent
                      extended by com.guiseframework.component.AbstractMultipleCompositeComponent
                          extended by com.guiseframework.component.AbstractListCompositeComponent
                              extended by com.guiseframework.component.AbstractLayoutComponent
                                  extended by com.guiseframework.component.AbstractContainer
                                      extended by com.guiseframework.component.AbstractPanel
                                          extended by com.guiseframework.component.PlatformFileUploadPanel
All Implemented Interfaces:
com.globalmentor.beans.PropertyBindable, com.globalmentor.beans.PropertyConstrainable, Box, Component, CompositeComponent, Container, LayoutComponent, Panel, ProgressListenable<java.lang.Long>, Displayable, InfoModel, LabelModel, Model, PresentationModel, DepictedObject, java.lang.Iterable<Component>

public class PlatformFileUploadPanel
extends AbstractPanel
implements ProgressListenable<java.lang.Long>

Panel to browse platform files and upload them to the specified destination. Progress events are sent both for individual platform file transfer progress and for overall progress. For the former, the source of the event will be the relevant PlatformFile; for the latter, the source of the event will be a PlatformFileUploadTask.

Author:
Garret Wilson

Nested Class Summary
 
Nested classes/interfaces inherited from class com.guiseframework.component.AbstractComponent
AbstractComponent.AbstractFlyoverFrameStrategy<S extends Component>, AbstractComponent.AbstractFlyoverStrategy<S extends Component>, AbstractComponent.DefaultFlyoverStrategy<S extends Component>
 
Nested classes/interfaces inherited from interface com.guiseframework.component.Component
Component.FlyoverStrategy<S extends Component>
 
Field Summary
static java.lang.String DESTINATION_BOOKMARK_PROPERTY
          The bound property of the destination bookmark.
static java.lang.String DESTINATION_URI_PROPERTY
          The bound property of the destination URI.
 
Fields inherited from class com.globalmentor.beans.BoundPropertyObject
NO_PROPERTY_CHANGE_LISTENERS, NO_VETOABLE_CHANGE_LISTENERS
 
Fields inherited from interface com.guiseframework.component.LayoutComponent
LAYOUT_PROPERTY, LAYOUT_THEME_APPLIED_PROPERTY
 
Fields inherited from interface com.guiseframework.component.Component
BOOKMARK_ENABLED_PROPERTY, CONSTRAINTS_PROPERTY, DRAG_ENABLED_PROPERTY, DROP_ENABLED_PROPERTY, FLYOVER_ENABLED_PROPERTY, FLYOVER_STRATEGY_PROPERTY, INPUT_STRATEGY_PROPERTY, NAME_PROPERTY, NOTIFICATION_PROPERTY, ORIENTATION_PROPERTY, THEME_APPLIED_PROPERTY, VALID_PROPERTY
 
Fields inherited from interface com.guiseframework.model.ui.PresentationModel
BACKGROUND_COLOR_PROPERTY, BORDER_LINE_FAR_COLOR_PROPERTY, BORDER_LINE_FAR_EXTENT_PROPERTY, BORDER_LINE_FAR_STYLE_PROPERTY, BORDER_LINE_NEAR_COLOR_PROPERTY, BORDER_LINE_NEAR_EXTENT_PROPERTY, BORDER_LINE_NEAR_STYLE_PROPERTY, BORDER_PAGE_FAR_COLOR_PROPERTY, BORDER_PAGE_FAR_EXTENT_PROPERTY, BORDER_PAGE_FAR_STYLE_PROPERTY, BORDER_PAGE_NEAR_COLOR_PROPERTY, BORDER_PAGE_NEAR_EXTENT_PROPERTY, BORDER_PAGE_NEAR_STYLE_PROPERTY, CORNER_LINE_FAR_PAGE_FAR_ARC_SIZE_PROPERTY, CORNER_LINE_FAR_PAGE_NEAR_ARC_SIZE_PROPERTY, CORNER_LINE_NEAR_PAGE_FAR_ARC_SIZE_PROPERTY, CORNER_LINE_NEAR_PAGE_NEAR_ARC_SIZE_PROPERTY, CURSOR_PROPERTY, FONT_FAMILIES_PROPERTY, FONT_SIZE_PROPERTY, FONT_STYLE_PROPERTY, FONT_WEIGHT_BOLD, FONT_WEIGHT_NORMAL, FONT_WEIGHT_PROPERTY, LABEL_FONT_FAMILIES_PROPERTY, LABEL_FONT_SIZE_PROPERTY, LABEL_FONT_STYLE_PROPERTY, LABEL_FONT_WEIGHT_PROPERTY, LABEL_TEXT_COLOR_PROPERTY, LINE_EXTENT_PROPERTY, MARGIN_LINE_FAR_EXTENT_PROPERTY, MARGIN_LINE_NEAR_EXTENT_PROPERTY, MARGIN_PAGE_FAR_EXTENT_PROPERTY, MARGIN_PAGE_NEAR_EXTENT_PROPERTY, OPACITY_PROPERTY, PADDING_LINE_FAR_EXTENT_PROPERTY, PADDING_LINE_NEAR_EXTENT_PROPERTY, PADDING_PAGE_FAR_EXTENT_PROPERTY, PADDING_PAGE_NEAR_EXTENT_PROPERTY, PAGE_EXTENT_PROPERTY, ROUNDED_CORNER_ARC_SIZE, STYLE_ID_PROPERTY, TEXT_COLOR_PROPERTY, TOOLTIP_ENABLED_PROPERTY, VISIBLE_PROPERTY
 
Fields inherited from interface com.guiseframework.model.Displayable
DISPLAYED_PROPERTY
 
Fields inherited from interface com.guiseframework.model.InfoModel
DESCRIPTION_CONTENT_TYPE_PROPERTY, DESCRIPTION_PROPERTY, INFO_CONTENT_TYPE_PROPERTY, INFO_PROPERTY
 
Fields inherited from interface com.guiseframework.model.LabelModel
GLYPH_URI_PROPERTY, LABEL_CONTENT_TYPE_PROPERTY, LABEL_PROPERTY
 
Fields inherited from interface com.guiseframework.model.Model
PLAIN_TEXT_CONTENT_TYPE, XHTML_CONTENT_TYPE, XHTML_FRAGMENT_CONTENT_TYPE
 
Constructor Summary
PlatformFileUploadPanel()
          Default constructor with a default vertical flow layout.
PlatformFileUploadPanel(java.net.URI destinationURI)
          Destination URI constructor.
PlatformFileUploadPanel(java.net.URI destinationURI, Bookmark destinationBookmark)
          Destination URI and destination bookmark constructor.
 
Method Summary
 void addProgressListener(ProgressListener<java.lang.Long> progressListener)
          Adds a progress listener.
protected  void fireProgressed(ProgressEvent<java.lang.Long> progressEvent)
          Fires a given progress event to all registered progress listeners.
 ActionPrototype getBrowseActionPrototype()
           
 ActionPrototype getCancelActionPrototype()
           
 Panel getControlPanel()
           
 Bookmark getDestinationBookmark()
           
 java.net.URI getDestinationURI()
           
 ActionPrototype getUploadActionPrototype()
           
 void removeProgressListener(ProgressListener<java.lang.Long> progressListener)
          Removes an progress listener.
 void setDestinationBookmark(Bookmark newDestinationBookmark)
          Sets the destination bookmark of the upload.
 void setDestinationURI(java.net.URI newDestinationURI)
          Sets the destination base URI of the upload.
protected  void updateComponents()
          Updates the state of components.
protected  void updateOverallStatusLabel(com.globalmentor.model.TaskState state, java.lang.Long progress, java.lang.Long completion)
          Updates the status label for the overall progress.
protected  void updatePlatformFileStatusLabel(PlatformFile platformFile, com.globalmentor.model.TaskState state, java.lang.Long progress, java.lang.Long completion)
          Updates the status label for an individual platform file.
 
Methods inherited from class com.guiseframework.component.AbstractContainer
add, add, add, add, add, add, add, add, clear, contains, createComponent, get, getChildComponents, indexOf, isEmpty, iterator, lastIndexOf, remove, remove, setChildren, setLayout, size
 
Methods inherited from class com.guiseframework.component.AbstractLayoutComponent
addComponent, applyTheme, applyTheme, getLayout, isLayoutThemeApplied, removeComponent, resetTheme, setLayoutThemeApplied, updateTheme
 
Methods inherited from class com.guiseframework.component.AbstractListCompositeComponent
addComponent, getComponentList, hasChildComponents
 
Methods inherited from class com.guiseframework.component.AbstractCompositeComponent
addCompositeComponentListener, childComponentValidPropertyChanged, determineChildrenValid, determineValid, dispatchInputEvent, dispatchInputEvent, fireChildComponentAdded, fireChildComponentAdded, fireChildComponentRemoved, fireChildComponentRemoved, initializeChildComponent, loadPreferences, removeCompositeComponentListener, savePreferences, uninitializeChildComponent, validate, validateChildren
 
Methods inherited from class com.guiseframework.component.AbstractComponent
addCommandListener, addExportStrategy, addImportStrategy, addKeyListener, addMouseListener, addNotificationListener, addPreferenceProperty, depict, equals, exportTransfer, fireInputEvent, fireNotified, fireNotified, getAncestor, getCommandListeners, getComponentByID, getComponentByName, getComponentOrientation, getConstraints, getDepictID, getDepictor, getDescription, getDescriptionContentType, getDirtyComponents, getDirtyComponents, getEventListenerManager, getFlyoverStrategy, getGlyphURI, getInfo, getInfoContentType, getInfoModel, getInputStrategy, getKeyListeners, getLabel, getLabelContentType, getMouseListeners, getName, getNotification, getNotifications, getNotifications, getOrientation, getParent, getPreferenceProperties, getRootComponent, getTheme, hasAncestor, hasCommandListeners, hashCode, hasKeyListeners, hasMouseListeners, importTransfer, initialize, isDragEnabled, isDropEnabled, isFlyoverEnabled, isPreferenceProperty, isThemeApplied, isValid, notify, processEvent, removeCommandListener, removeExportStrategy, removeImportStrategy, removeKeyListener, removeMouseListener, removeNotificationListener, removePreferenceProperty, setConstraints, setDepicted, setDescription, setDescriptionContentType, setDragEnabled, setDropEnabled, setFlyoverEnabled, setFlyoverStrategy, setGlyphURI, setInfo, setInfoContentType, setInputStrategy, setLabel, setLabelContentType, setName, setNotification, setOrientation, setParent, setThemeApplied, setValid, toString, update, updateValid
 
Methods inherited from class com.guiseframework.model.ui.AbstractPresentationModel
BorderLineFarColor, BorderLineFarExtent, BorderLineFarStyle, BorderLineNearColor, BorderLineNearExtent, BorderLineNearStyle, BorderPageFarColor, BorderPageFarExtent, BorderPageFarStyle, BorderPageNearColor, BorderPageNearExtent, BorderPageNearStyle, getBackgroundColor, getBorderColor, getBorderExtent, getBorderStyle, getCornerArcSize, getCornerLineFarPageFarArcSize, getCornerLineFarPageNearArcSize, getCornerLineNearPageFarArcSize, getCornerLineNearPageNearArcSize, getCursor, getExtent, getFontFamilies, getFontSize, getFontStyle, getFontWeight, getLabelFontFamilies, getLabelFontSize, getLabelFontStyle, getLabelFontWeight, getLabelTextColor, getLineExtent, getMarginExtent, getMarginLineFarExtent, getMarginLineNearExtent, getMarginPageFarExtent, getMarginPageNearExtent, getOpacity, getPaddingExtent, getPaddingLineFarExtent, getPaddingLineNearExtent, getPaddingPageFarExtent, getPaddingPageNearExtent, getPageExtent, getStyleID, getTextColor, isDisplayed, isTooltipEnabled, isVisible, setBackgroundColor, setBorderColor, setBorderColor, setBorderExtent, setBorderExtent, setBorderLineFarColor, setBorderLineFarExtent, setBorderLineFarStyle, setBorderLineNearColor, setBorderLineNearExtent, setBorderLineNearStyle, setBorderPageFarColor, setBorderPageFarExtent, setBorderPageFarStyle, setBorderPageNearColor, setBorderPageNearExtent, setBorderPageNearStyle, setBorderStyle, setBorderStyle, setCornerArcSize, setCornerArcSize, setCornerLineFarPageFarArcSize, setCornerLineFarPageNearArcSize, setCornerLineNearPageFarArcSize, setCornerLineNearPageNearArcSize, setCursor, setDisplayed, setExtent, setFontFamilies, setFontSize, setFontStyle, setFontWeight, setLabelFontFamilies, setLabelFontSize, setLabelFontStyle, setLabelFontWeight, setLabelTextColor, setLineExtent, setMarginExtent, setMarginExtent, setMarginLineFarExtent, setMarginLineNearExtent, setMarginPageFarExtent, setMarginPageNearExtent, setOpacity, setPaddingExtent, setPaddingExtent, setPaddingLineFarExtent, setPaddingLineNearExtent, setPaddingPageFarExtent, setPaddingPageNearExtent, setPageExtent, setStyleID, setTextColor, setTooltipEnabled, setVisible
 
Methods inherited from class com.guiseframework.event.GuiseBoundPropertyObject
getSession
 
Methods inherited from class com.globalmentor.beans.BoundPropertyObject
addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, addVetoableChangeListener, createPostponedPropertyChangeEvent, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, getForwardPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, getPropertyChangeSupport, getRepeatPropertyChangeListener, getRepeatVetoableChangeListener, getVetoableChangeListeners, getVetoableChangeListeners, getVetoableChangeSupport, hasPropertyChangeListeners, hasVetoableChangeListeners, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, removeVetoableChangeListener
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.guiseframework.component.Container
add, add, add, add, add, add, add, clear, contains, get, indexOf, isEmpty, lastIndexOf, remove, remove, setLayout, size
 
Methods inherited from interface com.guiseframework.component.LayoutComponent
getLayout, isLayoutThemeApplied, setLayoutThemeApplied
 
Methods inherited from interface com.guiseframework.component.CompositeComponent
addCompositeComponentListener, getChildComponents, hasChildComponents, removeCompositeComponentListener
 
Methods inherited from interface com.guiseframework.component.Component
addCommandListener, addExportStrategy, addImportStrategy, addKeyListener, addMouseListener, addNotificationListener, addPreferenceProperty, applyTheme, applyTheme, dispatchInputEvent, fireInputEvent, getAncestor, getComponentOrientation, getConstraints, getFlyoverStrategy, getInputStrategy, getName, getNotification, getOrientation, getParent, getPreferenceProperties, getTheme, hasCommandListeners, hasKeyListeners, hasMouseListeners, importTransfer, initialize, isDragEnabled, isDropEnabled, isFlyoverEnabled, isPreferenceProperty, isThemeApplied, isValid, loadPreferences, notify, removeCommandListener, removeExportStrategy, removeImportStrategy, removeKeyListener, removeMouseListener, removeNotificationListener, removePreferenceProperty, resetTheme, savePreferences, setConstraints, setDragEnabled, setDropEnabled, setFlyoverEnabled, setFlyoverStrategy, setInputStrategy, setName, setNotification, setOrientation, setParent, setThemeApplied, updateTheme, validate
 
Methods inherited from interface com.guiseframework.platform.DepictedObject
depict, getDepictID, getSession, processEvent
 
Methods inherited from interface com.guiseframework.model.ui.PresentationModel
BorderLineFarColor, BorderLineFarExtent, BorderLineFarStyle, BorderLineNearColor, BorderLineNearExtent, BorderLineNearStyle, BorderPageFarColor, BorderPageFarExtent, BorderPageFarStyle, BorderPageNearColor, BorderPageNearExtent, BorderPageNearStyle, getBackgroundColor, getBorderColor, getBorderExtent, getBorderStyle, getCornerArcSize, getCornerLineFarPageFarArcSize, getCornerLineFarPageNearArcSize, getCornerLineNearPageFarArcSize, getCornerLineNearPageNearArcSize, getCursor, getExtent, getFontFamilies, getFontSize, getFontStyle, getFontWeight, getLabelFontFamilies, getLabelFontSize, getLabelFontStyle, getLabelFontWeight, getLabelTextColor, getLineExtent, getMarginExtent, getMarginLineFarExtent, getMarginLineNearExtent, getMarginPageFarExtent, getMarginPageNearExtent, getOpacity, getPaddingExtent, getPaddingLineFarExtent, getPaddingLineNearExtent, getPaddingPageFarExtent, getPaddingPageNearExtent, getPageExtent, getSession, getStyleID, getTextColor, isTooltipEnabled, isVisible, setBackgroundColor, setBorderColor, setBorderColor, setBorderExtent, setBorderExtent, setBorderLineFarColor, setBorderLineFarExtent, setBorderLineFarStyle, setBorderLineNearColor, setBorderLineNearExtent, setBorderLineNearStyle, setBorderPageFarColor, setBorderPageFarExtent, setBorderPageFarStyle, setBorderPageNearColor, setBorderPageNearExtent, setBorderPageNearStyle, setBorderStyle, setBorderStyle, setCornerArcSize, setCornerArcSize, setCornerLineFarPageFarArcSize, setCornerLineFarPageNearArcSize, setCornerLineNearPageFarArcSize, setCornerLineNearPageNearArcSize, setCursor, setExtent, setFontFamilies, setFontSize, setFontStyle, setFontWeight, setLabelFontFamilies, setLabelFontSize, setLabelFontStyle, setLabelFontWeight, setLabelTextColor, setLineExtent, setMarginExtent, setMarginExtent, setMarginLineFarExtent, setMarginLineNearExtent, setMarginPageFarExtent, setMarginPageNearExtent, setOpacity, setPaddingExtent, setPaddingExtent, setPaddingLineFarExtent, setPaddingLineNearExtent, setPaddingPageFarExtent, setPaddingPageNearExtent, setPageExtent, setStyleID, setTextColor, setTooltipEnabled, setVisible
 
Methods inherited from interface com.guiseframework.model.InfoModel
getDescription, getDescriptionContentType, getInfo, getInfoContentType, setDescription, setDescriptionContentType, setInfo, setInfoContentType
 
Methods inherited from interface com.guiseframework.model.LabelModel
getGlyphURI, getLabel, getLabelContentType, setGlyphURI, setLabel, setLabelContentType
 
Methods inherited from interface com.globalmentor.beans.PropertyBindable
addPropertyChangeListener, addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, hasPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
 
Methods inherited from interface com.globalmentor.beans.PropertyConstrainable
addVetoableChangeListener, addVetoableChangeListener, getVetoableChangeListeners, getVetoableChangeListeners, hasVetoableChangeListeners, removeVetoableChangeListener, removeVetoableChangeListener
 
Methods inherited from interface java.lang.Iterable
iterator
 

Field Detail

DESTINATION_URI_PROPERTY

public static final java.lang.String DESTINATION_URI_PROPERTY
The bound property of the destination URI.


DESTINATION_BOOKMARK_PROPERTY

public static final java.lang.String DESTINATION_BOOKMARK_PROPERTY
The bound property of the destination bookmark.

Constructor Detail

PlatformFileUploadPanel

public PlatformFileUploadPanel(java.net.URI destinationURI)
Destination URI constructor.

Parameters:
destinationBaseURI - The collection URI representing the base destination of the platform files, either absolute or relative to the application.
Throws:
java.lang.NullPointerException - if the given list of platform files and/or destination URI is null.
java.lang.IllegalArgumentException - if the provided URI is not a collection URI.
java.lang.IllegalArgumentException - if the provided URI specifies a query and/or fragment.

PlatformFileUploadPanel

public PlatformFileUploadPanel(java.net.URI destinationURI,
                               Bookmark destinationBookmark)
Destination URI and destination bookmark constructor.

Parameters:
destinationBaseURI - The collection URI representing the base destination of the platform files, either absolute or relative to the application.
destinationBookmark - The bookmark to be used in sending resources to the destination URI, or null if there is no bookmark specified.
Throws:
java.lang.NullPointerException - if the given list of platform files and/or destination URI is null.
java.lang.IllegalArgumentException - if the provided URI is not a collection URI.
java.lang.IllegalArgumentException - if the provided URI specifies a query and/or fragment.

PlatformFileUploadPanel

public PlatformFileUploadPanel()
Default constructor with a default vertical flow layout.

Method Detail

getControlPanel

public Panel getControlPanel()
Returns:
The panel containing controls such as buttons.

getDestinationURI

public java.net.URI getDestinationURI()
Returns:
The collection URI representing the base destination of the platform files, either absolute or relative to the application, or null if the destination URI has not yet been set.

setDestinationURI

public void setDestinationURI(java.net.URI newDestinationURI)
Sets the destination base URI of the upload. This is a bound property.

Parameters:
newDestinationURI - The collection URI representing the base destination of the platform files, either absolute or relative to the application.
Throws:
java.lang.NullPointerException - if the given URI is null.
java.lang.IllegalArgumentException - if the provided URI is not a collection URI.
java.lang.IllegalArgumentException - if the provided URI specifies a query and/or fragment.
See Also:
DESTINATION_URI_PROPERTY

getDestinationBookmark

public Bookmark getDestinationBookmark()
Returns:
The bookmark to be used in sending resources to the destination URI, or null if there is no bookmark specified.

setDestinationBookmark

public void setDestinationBookmark(Bookmark newDestinationBookmark)
Sets the destination bookmark of the upload. This is a bound property.

Parameters:
newDestinationBookmark - The bookmark to be used in sending resources to the destination URI, or null if there is no bookmark specified.
See Also:
DESTINATION_BOOKMARK_PROPERTY

getBrowseActionPrototype

public ActionPrototype getBrowseActionPrototype()
Returns:
The action prototype for browsing the platforom file system.

getUploadActionPrototype

public ActionPrototype getUploadActionPrototype()
Returns:
The action prototype for uploading.

getCancelActionPrototype

public ActionPrototype getCancelActionPrototype()
Returns:
The action prototype for canceling.

updateComponents

protected void updateComponents()
Updates the state of components.


updatePlatformFileStatusLabel

protected void updatePlatformFileStatusLabel(PlatformFile platformFile,
                                             com.globalmentor.model.TaskState state,
                                             java.lang.Long progress,
                                             java.lang.Long completion)
Updates the status label for an individual platform file.

Parameters:
platformFile - The current platform file.
state - The new transfer state, or null if there is no state.
progress - The current number of bytes transferred, or null if the bytes transferred is not known.
completion - The total number of bytes to transfer, or null if the total is not known.
Throws:
java.lang.NullPointerException - if the given platform file is null.

updateOverallStatusLabel

protected void updateOverallStatusLabel(com.globalmentor.model.TaskState state,
                                        java.lang.Long progress,
                                        java.lang.Long completion)
Updates the status label for the overall progress.

Parameters:
state - The new transfer state, or null if there is no state.
progress - The current number of bytes transferred, or null if the bytes transferred is not known.
completion - The total number of bytes to transfer, or null if the total is not known.

addProgressListener

public void addProgressListener(ProgressListener<java.lang.Long> progressListener)
Adds a progress listener.

Specified by:
addProgressListener in interface ProgressListenable<java.lang.Long>
Parameters:
progressListener - The progress listener to add.

removeProgressListener

public void removeProgressListener(ProgressListener<java.lang.Long> progressListener)
Removes an progress listener.

Specified by:
removeProgressListener in interface ProgressListenable<java.lang.Long>
Parameters:
progressListener - The progress listener to remove.

fireProgressed

protected void fireProgressed(ProgressEvent<java.lang.Long> progressEvent)
Fires a given progress event to all registered progress listeners.

Parameters:
progressEvent - The progress event to fire.


Copyright © 2005-2010 GlobalMentor, Inc. All Rights Reserved.