Package io.jmix.flowui.download
Class DownloaderImpl
java.lang.Object
io.jmix.flowui.download.DownloaderImpl
- All Implemented Interfaces:
Downloader
@Component("flowui_Downloader")
@Scope("prototype")
public class DownloaderImpl
extends Object
implements Downloader
Shows exported data in the web browser or downloads it.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected CorePropertiesprotected static final Stringprotected FileStorageprotected FileStorageLocatorprotected Messagesprotected booleanprotected UiAsyncTasksprotected UiPropertiesprotected boolean -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidprotected booleandefaultViewFilePredicate(String fileExtension) voidDownloads passed byte array.voiddownload(byte[] data, String resourceName, DownloadFormat format) Downloads passed byte array.voidDownloads a file from theFileStorageretrieved byFileStorageLocatorusing storage name from FileRef.voiddownload(FileRef fileReference, DownloadFormat format) Downloads a file from theFileStorageretrieved byFileStorageLocatorusing storage name from FileRef.voiddownload(DownloadDataProvider dataProvider, String resourceName) Show/Download resource at client sidevoiddownload(DownloadDataProvider dataProvider, String resourceName, DownloadFormat downloadFormat) Show/Download resource at client sideprotected voidprotected booleanhandleFileNotFoundException(JmixFileDownloader.FileNotFoundContext fileNotFoundEvent) protected booleanprotected booleanisIPhone()booleanprotected StringvoidsetCoreProperties(CoreProperties coreProperties) voidsetFileStorage(FileStorage fileStorage) Sets a file storage where the files will be downloaded from.voidsetFileStorageLocator(FileStorageLocator fileStorageLocator) voidsetMessages(Messages messages) voidsetShowNewWindow(boolean showNewWindow) Sets explicit new window option.voidsetUiAsyncTasks(UiAsyncTasks uiAsyncTasks) voidsetUiProperties(UiProperties uiProperties) voidsetViewFilePredicate(Predicate<String> viewFilePredicate) Sets a predicate that checks if file is allowed to be opened.protected voidwriteFileNotFoundException(com.vaadin.flow.server.VaadinResponse response, String message)
-
Field Details
-
DEFAULT_CHARSET_SUFFIX
- See Also:
-
uiProperties
-
coreProperties
-
messages
-
uiAsyncTasks
-
fileStorageLocator
-
fileStorage
-
newWindow
protected boolean newWindow -
useViewList
protected boolean useViewList -
viewFilePredicate
-
-
Constructor Details
-
DownloaderImpl
public DownloaderImpl()Constructor with newWindow=false -
DownloaderImpl
public DownloaderImpl(boolean newWindow) - Parameters:
newWindow- if true, show data in the same browser window; if false, open new browser window
-
-
Method Details
-
setUiProperties
-
setCoreProperties
-
setMessages
-
setFileStorageLocator
-
setUiAsyncTasks
-
setFileStorage
Description copied from interface:DownloaderSets a file storage where the files will be downloaded from.- Specified by:
setFileStoragein interfaceDownloader- Parameters:
fileStorage- file storage
-
defaultViewFilePredicate
-
setViewFilePredicate
Description copied from interface:DownloaderSets a predicate that checks if file is allowed to be opened. It takes file extension as an input parameter and returnstrueif file is allowed to be opened orfalseif file should be downloaded.- Specified by:
setViewFilePredicatein interfaceDownloader- Parameters:
viewFilePredicate- predicate
-
isShowNewWindow
public boolean isShowNewWindow()- Specified by:
isShowNewWindowin interfaceDownloader- Returns:
trueif downloader should open a new window with the file content
-
setShowNewWindow
public void setShowNewWindow(boolean showNewWindow) Description copied from interface:DownloaderSets explicit new window option.- Specified by:
setShowNewWindowin interfaceDownloader- Parameters:
showNewWindow-trueif downloader opens new window, otherwisefalse
-
download
public void download(DownloadDataProvider dataProvider, String resourceName, @Nullable DownloadFormat downloadFormat) Show/Download resource at client side- Specified by:
downloadin interfaceDownloader- Parameters:
dataProvider- DownloadDataProviderresourceName- ResourceName for client sidedownloadFormat- DownloadFormat- See Also:
-
download
Show/Download resource at client side- Specified by:
downloadin interfaceDownloader- Parameters:
dataProvider- DownloadDataProviderresourceName- ResourceName for client side- See Also:
-
download
Description copied from interface:DownloaderDownloads a file from theFileStorageretrieved byFileStorageLocatorusing storage name from FileRef.- Specified by:
downloadin interfaceDownloader- Parameters:
fileReference- file reference
-
download
Description copied from interface:DownloaderDownloads a file from theFileStorageretrieved byFileStorageLocatorusing storage name from FileRef.- Specified by:
downloadin interfaceDownloader- Parameters:
fileReference- file referenceformat- download format, can be null
-
download
Description copied from interface:DownloaderDownloads passed byte array.- Specified by:
downloadin interfaceDownloader- Parameters:
data- data in the form of byte arrayresourceName- resource name
-
download
Description copied from interface:DownloaderDownloads passed byte array.- Specified by:
downloadin interfaceDownloader- Parameters:
data- data in the form of byte arrayresourceName- resource nameformat- download format, can be null
-
checkUIAccess
protected void checkUIAccess() -
fileDownloaderRemoveHandler
-
handleFileNotFoundException
protected boolean handleFileNotFoundException(JmixFileDownloader.FileNotFoundContext fileNotFoundEvent) -
writeFileNotFoundException
protected void writeFileNotFoundException(com.vaadin.flow.server.VaadinResponse response, String message) throws IOException - Throws:
IOException
-
normalize
-
isBrowserSupportsPopups
protected boolean isBrowserSupportsPopups() -
isIPhone
protected boolean isIPhone()
-