Class UploadProgressBar

  extended by org.apache.wicket.Component
      extended by org.apache.wicket.MarkupContainer
          extended by org.apache.wicket.markup.html.WebMarkupContainer
              extended by org.apache.wicket.markup.html.panel.Panel
                  extended by org.apache.wicket.extensions.ajax.markup.html.form.upload.UploadProgressBar
All Implemented Interfaces:, java.lang.Iterable<Component>, IEventSink, IEventSource, IClusterable, IConverterLocator, IHeaderContributor, IRequestableComponent, IHierarchical<Component>

public class UploadProgressBar
extends Panel

A panel to show the progress of an HTTP upload.

Note: For this to work upload progress monitoring must be enabled in the wicket application. Example:

  public class App extends WebApplication {
        protected void init() {
                getApplicationSettings().setUploadProgressUpdatesEnabled(true); // <--
For customizing starting text see RESOURCE_STARTING. Implementation detail: Despite being located in an Ajax package, the progress communication is not done via Ajax but with an IFrame instead due to a bug in Webkit based browsers, see WICKET-3202.

Andrew Lombardi
See Also:
Serialized Form

Nested Class Summary
static class UploadProgressBar.ComponentInitializer
          Initializer for this component; binds static resources.
Field Summary
static java.lang.String RESOURCE_STARTING
          Resource key used to retrieve starting message for.
Fields inherited from class org.apache.wicket.markup.html.panel.Panel
Fields inherited from class org.apache.wicket.Component
Constructor Summary
UploadProgressBar(java.lang.String id, Form<?> form)
          Constructor that will display the upload progress bar for every submit of the given form.
UploadProgressBar(java.lang.String id, Form<?> form, FileUploadField uploadField)
          Constructor that will display the upload progress bar for submissions of the given form, that include a file upload in the given file upload field; i.e.
Method Summary
protected  ResourceReference getCss()
          Override this to provide your own CSS, or return null to avoid including the default.
protected  void onInitialize()
          This method is meant to be used as an alternative to initialize components.
 void renderHead(IHeaderResponse response)
          Render to the web response whatever the component wants to contribute to the head section.
Methods inherited from class org.apache.wicket.markup.html.panel.Panel
Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainer
getWebPage, getWebRequest
Methods inherited from class org.apache.wicket.MarkupContainer
add, addOrReplace, autoAdd, contains, get, get, getAssociatedMarkup, getAssociatedMarkupStream, getMarkup, getMarkupType, hasAssociatedMarkup, internalAdd, internalInitialize, iterator, iterator, onAfterRenderChildren, onComponentTagBody, onMarkupAttached, onRender, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderNext, replace, setDefaultModel, size, swap, toString, toString, visitChildren, visitChildren, visitChildren, visitChildren
Methods inherited from class org.apache.wicket.Component
add, addStateChange, afterRender, beforeRender, canCallListenerInterface, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, configure, continueToOriginalDestination, debug, detach, detachModel, detachModels, determineVisibility, error, exceptionMessage, fatal, findMarkupStream, findPage, findParent, findParentWithAssociatedMarkup, getAjaxRegionMarkupId, getApplication, getBehaviorById, getBehaviorId, getBehaviors, getBehaviors, getClassRelativePath, getConverter, getDefaultModel, getDefaultModelObject, getDefaultModelObjectAsString, getDefaultModelObjectAsString, getEscapeModelStrings, getFeedbackMessage, getFeedbackMessages, getFlag, getId, getInnermostModel, getInnermostModel, getLocale, getLocalizer, getMarkup, getMarkupAttributes, getMarkupId, getMarkupId, getMarkupIdFromMarkup, getMarkupIdImpl, getMarkupSourcingStrategy, getMetaData, getModelComparator, getOutputMarkupId, getOutputMarkupPlaceholderTag, getPage, getPageRelativePath, getParent, getPath, getRenderBodyOnly, getRequest, getRequestCycle, getRequestFlag, getResponse, getSession, getSizeInBytes, getStatelessHint, getString, getString, getString, getStyle, getVariation, hasBeenRendered, hasErrorMessage, hasFeedbackMessage, info, initModel, internalOnModelChanged, internalPrepareForRender, internalRenderComponent, isActionAuthorized, isAuto, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isRenderAllowed, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, locateMarkupStream, markRendering, modelChanged, modelChanging, onAfterRender, onBeforeRender, onComponentTag, onConfigure, onDetach, onEvent, onModelChanged, onModelChanging, onRemove, prepareForRender, redirectToInterceptPage, remove, remove, render, renderComponentTag, rendered, renderHead, renderHead, renderPlaceholderTag, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, send, setAuto, setDefaultModelObject, setEnabled, setEscapeModelStrings, setFlag, setIgnoreAttributeModifier, setMarkup, setMarkupId, setMarkupIdImpl, setMetaData, setOutputMarkupId, setOutputMarkupPlaceholderTag, setParent, setRenderBodyOnly, setRequestFlag, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, success, urlFor, urlFor, urlFor, urlFor, urlFor, visitParents, warn, wrap
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Field Detail


public static final java.lang.String RESOURCE_STARTING
Resource key used to retrieve starting message for. Example: UploadProgressBar.starting=Upload starting...

See Also:
Constant Field Values
Constructor Detail


public UploadProgressBar(java.lang.String id,
                         Form<?> form)
Constructor that will display the upload progress bar for every submit of the given form.

id - component id (not null)
form - form that will be submitted (not null)


public UploadProgressBar(java.lang.String id,
                         Form<?> form,
                         FileUploadField uploadField)
Constructor that will display the upload progress bar for submissions of the given form, that include a file upload in the given file upload field; i.e. if the user did not select a file in the given file upload field, the progess bar is not displayed.

id - component id (not null)
form - form that is submitted (not null)
uploadField - the file upload field to check for a file upload, or null to display the upload field for every submit of the given form
Method Detail


protected void onInitialize()
This method is meant to be used as an alternative to initialize components. Usually the component's constructor is used for this task, but sometimes a component cannot be initialized in isolation, it may need to access its parent component or its markup in order to fully initialize. This method is invoked once per component's lifecycle when a path exists from this component to the Page thus providing the component with an atomic callback when the component's environment is built out.

Overrides must call super#Component.onInitialize(). Usually this should be the first thing an override does, much like a constructor.

Parent containers are guaranteed to be initialized before their children

It is safe to use Component.getPage() in this method

NOTE:The timing of this call is not precise, the contract is that it is called sometime before Component.onBeforeRender().

onInitialize in class Component


protected ResourceReference getCss()
Override this to provide your own CSS, or return null to avoid including the default.

ResourceReference for your CSS.


public void renderHead(IHeaderResponse response)
Render to the web response whatever the component wants to contribute to the head section.

Specified by:
renderHead in interface IHeaderContributor
renderHead in class Component
response - Response object

Copyright © 2006-2011 Apache Software Foundation. All Rights Reserved.