Class ExportToolbar
- 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 allIExportableColumns in the table exported to formats supported by theIDataExporters configured.- Author:
- Jesse Long
- See Also:
IDataExporter,IExportableColumn, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classExportToolbar.DataExportResourceStreamWriterAnIResourceStreamWriterwhich writes the exportable data from a table to an output stream.
-
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 ExportToolbaraddDataExporter(IDataExporter exporter)Adds aIDataExporterto the list of data exporters to be used in this toolbar.protected voidcalculateVisibility()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.ComponentcreateExportLink(String componentId, IDataExporter dataExporter)Creates a new link to the exported data for the providedIDataExporter.protected DurationgetCacheDuration()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 voidonConfigure()protected voidonDetach()protected voidonInitialize()ExportToolbarsetFileNameModel(org.apache.wicket.model.IModel<String> fileNameModel)Sets the model of the file name used for the exported data.ExportToolbarsetMessageModel(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, 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 java.lang.Iterable
forEach, spliterator
-
-
-
-
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<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:
onInitializein classorg.apache.wicket.MarkupContainer
-
createExportLink
protected org.apache.wicket.Component createExportLink(String componentId, IDataExporter dataExporter)
Creates a new link to the exported data for the providedIDataExporter.- 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
protected Duration getCacheDuration()
How long should the export be cached.- Returns:
- default is
Duration.ZERO
-
onConfigure
protected void onConfigure()
- Overrides:
onConfigurein classorg.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:
onDetachin classorg.apache.wicket.MarkupContainer
-
addDataExporter
public ExportToolbar addDataExporter(IDataExporter exporter)
Adds aIDataExporterto the list of data exporters to be used in this toolbar.- Parameters:
exporter- TheIDataExporterto add to the toolbar.- Returns:
this, for chaining.
-
-