java.lang.Object
org.apache.wicket.Component
org.apache.wicket.MarkupContainer
org.apache.wicket.markup.html.WebMarkupContainer
org.apache.wicket.markup.html.panel.Panel
org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractToolbar
org.apache.wicket.extensions.markup.html.repeater.data.table.export.ExportToolbar
All Implemented Interfaces:
Serializable, Iterable<org.apache.wicket.Component>, org.apache.wicket.event.IEventSink, org.apache.wicket.event.IEventSource, org.apache.wicket.feedback.IFeedbackContributor, org.apache.wicket.IConverterLocator, org.apache.wicket.IMetadataContext<Serializable,org.apache.wicket.Component>, org.apache.wicket.IQueueRegion, org.apache.wicket.markup.html.IHeaderContributor, org.apache.wicket.request.component.IRequestableComponent, org.apache.wicket.util.IHierarchical<org.apache.wicket.Component>, org.apache.wicket.util.io.IClusterable

public class ExportToolbar extends AbstractToolbar
A toolbar that provides links to download the data represented by all IExportableColumns in the table exported to formats supported by the IDataExporters configured.
Author:
Jesse Long
See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    An IResourceStreamWriter which writes the exportable data from a table to an output stream.
  • Field Summary

    Fields inherited from class org.apache.wicket.markup.html.panel.Panel

    PANEL

    Fields inherited from class org.apache.wicket.Component

    ENABLE, FLAG_INITIALIZED, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED8, PARENT_PATH, PATH_SEPARATOR, RENDER, RFLAG_CONTAINER_DEQUEING, RFLAG_CONTAINER_HAS_REMOVALS
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a new instance with the default message model.
    ExportToolbar(DataTable<?,?> table, org.apache.wicket.model.IModel<String> fileNameModel)
    Creates a new instance with the provided data table and file name model.
    ExportToolbar(DataTable<?,?> table, org.apache.wicket.model.IModel<String> messageModel, org.apache.wicket.model.IModel<String> fileNameModel)
    Creates a new instance.
  • Method Summary

    Modifier and Type
    Method
    Description
    Adds a IDataExporter to the list of data exporters to be used in this toolbar.
    protected void
    This toolbar is only visible if there are rows in the data set and if there are exportable columns in the data table and if there are data exporters added to the toolbar.
    protected org.apache.wicket.Component
    createExportLink(String componentId, IDataExporter dataExporter)
    Creates a new link to the exported data for the provided IDataExporter.
    protected Duration
    How long should the export be cached.
    org.apache.wicket.model.IModel<String>
    Returns the model of the file name used for the exported data.
    org.apache.wicket.model.IModel<String>
    Returns the model of the export message displayed in the toolbar.
    protected void
     
    protected void
     
    protected void
    setFileNameModel(org.apache.wicket.model.IModel<String> fileNameModel)
    Sets the model of the file name used for the exported data.
    setMessageModel(org.apache.wicket.model.IModel<String> messageModel)
    Sets the models of the export message displayed in the toolbar.

    Methods inherited from class org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractToolbar

    getTable

    Methods inherited from class org.apache.wicket.markup.html.panel.Panel

    getRegionMarkup, newMarkupSourcingStrategy

    Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainer

    getWebApplication, getWebPage, getWebRequest, getWebResponse, getWebSession

    Methods inherited from class org.apache.wicket.MarkupContainer

    add, addDequeuedComponent, addOrReplace, autoAdd, canDequeueTag, contains, dequeue, dequeue, dequeuePreamble, findChildComponent, findComponentToDequeue, get, getAssociatedMarkup, getAssociatedMarkupStream, getMarkup, getMarkupType, internalAdd, internalInitialize, iterator, iterator, newDequeueContext, onComponentTagBody, onRender, queue, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderNext, replace, setDefaultModel, size, stream, streamChildren, toString, toString, visitChildren, visitChildren

    Methods inherited from class org.apache.wicket.Component

    add, addStateChange, beforeRender, canCallListener, canCallListenerAfterExpiry, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, clearOriginalDestination, configure, continueToOriginalDestination, createConverter, 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, getFeedbackMessages, getFlag, getId, getInnermostModel, getInnermostModel, getLocale, getLocalizer, getMarkup, getMarkupAttributes, getMarkupId, getMarkupId, getMarkupIdFromMarkup, getMarkupIdImpl, getMarkupSourcingStrategy, getMarkupTag, 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, internalRenderComponent, internalRenderHead, isActionAuthorized, isAuto, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isInitialized, isRenderAllowed, isRendering, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, markRendering, modelChanged, modelChanging, onAfterRender, onBeforeRender, onComponentTag, onEvent, onModelChanged, onModelChanging, onReAdd, onRemove, redirectToInterceptPage, remove, remove, render, renderComponentTag, rendered, renderHead, renderPart, renderPlaceholderTag, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, send, setAuto, setDefaultModelObject, setEnabled, setEscapeModelStrings, setFlag, setIgnoreAttributeModifier, setMarkup, setMarkupId, setMarkupIdImpl, setMetaData, setOutputMarkupId, setOutputMarkupPlaceholderTag, setParent, setRenderBodyOnly, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, success, urlFor, urlFor, urlFor, urlForListener, urlForListener, visitParents, visitParents, warn, wrap

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.apache.wicket.IQueueRegion

    dequeue, newDequeueContext

    Methods inherited from interface java.lang.Iterable

    forEach, spliterator
  • Constructor Details

    • ExportToolbar

      public ExportToolbar(DataTable<?,?> table)
      Creates a new instance with the default message model. This instance will use "export." as the exported file name prefix.
      Parameters:
      table - The data table this toolbar belongs to.
    • ExportToolbar

      public ExportToolbar(DataTable<?,?> table, org.apache.wicket.model.IModel<String> fileNameModel)
      Creates a new instance with the provided data table and file name model.
      Parameters:
      table - The table to which this toolbar belongs.
      fileNameModel - The model of the file name. This should exclude the file extensions.
    • ExportToolbar

      public ExportToolbar(DataTable<?,?> table, org.apache.wicket.model.IModel<String> messageModel, org.apache.wicket.model.IModel<String> fileNameModel)
      Creates a new instance.
      Parameters:
      table - The table to which this toolbar belongs.
      messageModel - The model of the export message.
      fileNameModel - The model of the file name. This should exclude the file extensions.
  • Method Details

    • setMessageModel

      public ExportToolbar setMessageModel(org.apache.wicket.model.IModel<String> messageModel)
      Sets the models of the export message displayed in the toolbar.
      Parameters:
      messageModel - the models of the export message displayed in the toolbar.
      Returns:
      this, for chaining.
    • setFileNameModel

      public ExportToolbar setFileNameModel(org.apache.wicket.model.IModel<String> fileNameModel)
      Sets the model of the file name used for the exported data.
      Parameters:
      fileNameModel - The model of the file name used for the exported data.
      Returns:
      this, for chaining.
    • getFileNameModel

      public org.apache.wicket.model.IModel<String> getFileNameModel()
      Returns the model of the file name used for the exported data.
      Returns:
      the model of the file name used for the exported data.
    • getMessageModel

      public org.apache.wicket.model.IModel<String> getMessageModel()
      Returns the model of the export message displayed in the toolbar.
      Returns:
      the model of the export message displayed in the toolbar.
    • onInitialize

      protected void onInitialize()
      Overrides:
      onInitialize in class org.apache.wicket.MarkupContainer
    • createExportLink

      protected org.apache.wicket.Component createExportLink(String componentId, IDataExporter dataExporter)
      Creates a new link to the exported data for the provided IDataExporter.
      Parameters:
      componentId - The component of the link.
      dataExporter - The data exporter to use to export the data.
      Returns:
      a new link to the exported data for the provided IDataExporter.
    • getCacheDuration

      How long should the export be cached.
      Returns:
      default is Duration.ZERO
    • onConfigure

      protected void onConfigure()
      Overrides:
      onConfigure in class org.apache.wicket.Component
    • calculateVisibility

      protected void calculateVisibility()
      This toolbar is only visible if there are rows in the data set and if there are exportable columns in the data table and if there are data exporters added to the toolbar.
    • onDetach

      protected void onDetach()
      Overrides:
      onDetach in class org.apache.wicket.MarkupContainer
    • addDataExporter

      Adds a IDataExporter to the list of data exporters to be used in this toolbar.
      Parameters:
      exporter - The IDataExporter to add to the toolbar.
      Returns:
      this, for chaining.