Class 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:
    IDataExporter, IExportableColumn, Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  ExportToolbar.DataExportResourceStreamWriter
      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
      ExportToolbar​(DataTable<?,​?> table)
      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

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      ExportToolbar addDataExporter​(IDataExporter exporter)
      Adds a IDataExporter to the list of data exporters to be used in this toolbar.
      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.
      protected org.apache.wicket.Component createExportLink​(String componentId, IDataExporter dataExporter)
      Creates a new link to the exported data for the provided IDataExporter.
      protected Duration getCacheDuration()
      How long should the export be cached.
      org.apache.wicket.model.IModel<String> getFileNameModel()
      Returns the model of the file name used for the exported data.
      org.apache.wicket.model.IModel<String> getMessageModel()
      Returns the model of the export message displayed in the toolbar.
      protected void onConfigure()  
      protected void onDetach()  
      protected void onInitialize()
      ExportToolbar setFileNameModel​(org.apache.wicket.model.IModel<String> fileNameModel)
      Sets the model of the file name used for the exported data.
      ExportToolbar 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.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, 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 interface org.apache.wicket.IQueueRegion

        dequeue, newDequeueContext
    • Constructor Detail

      • 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 Detail

      • 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<StringgetFileNameModel()
        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<StringgetMessageModel()
        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.
      • 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