public abstract class AbstractSingleFileUploadField<R> extends AbstractField<JmixFileUploadField,java.lang.String,R> implements SingleFileUploadField, org.springframework.beans.factory.InitializingBean
| Modifier and Type | Class and Description |
|---|---|
protected class |
AbstractSingleFileUploadField.JmixSingleFileUploadField |
SingleFileUploadField.AfterValueClearEvent, SingleFileUploadField.BeforeValueClearEvent, SingleFileUploadField.FileUploadSucceedEventUploadField.DropZone, UploadField.FileUploadErrorEvent, UploadField.FileUploadEvent, UploadField.FileUploadFinishEvent, UploadField.FileUploadStartEventComponent.Alignment, Component.BelongToFrame, Component.Disposable, Component.Editable, Component.Focusable, Component.HasCaption, Component.HasDescription, Component.HasIcon, Component.HasXmlDescriptor, Component.WrapperHasValue.ValueChangeEvent<V>HasContextHelp.ContextHelpIconClickEvent| Modifier and Type | Field and Description |
|---|---|
protected java.lang.String |
accept |
protected static int |
BYTES_IN_MEGABYTE |
protected UiComponentProperties |
componentProperties |
protected java.util.function.Supplier<java.io.InputStream> |
contentProvider |
protected Downloader |
downloader |
protected UploadField.DropZone |
dropZone |
protected java.lang.String |
dropZonePrompt |
protected java.lang.String |
fileName |
protected long |
fileSizeLimit |
protected io.jmix.core.Messages |
messages |
protected ComponentContainer |
pasteZone |
protected java.util.Set<java.lang.String> |
permittedExtensions |
editable, parentEditableChangeListener, validators, VALIDATORS_LIST_INITIAL_CAPACITYinternalValue, uiTestIdsSupport, valueBindingalignment, applicationContext, component, contextHelpIconClickHandler, contextHelpIconClickListener, descriptionAsHtml, element, frame, htmlSanitizerEnabled, icon, ICON_STYLE, id, parentAUTO_SIZE, AUTO_SIZE_PX, FULL_SIZE| Constructor and Description |
|---|
AbstractSingleFileUploadField() |
| Modifier and Type | Method and Description |
|---|---|
io.jmix.core.common.event.Subscription |
addAfterValueClearListener(java.util.function.Consumer<SingleFileUploadField.AfterValueClearEvent> listener)
Adds a callback interface which is invoked by the
SingleFileUploadField after value
has been cleared using clear button. |
io.jmix.core.common.event.Subscription |
addBeforeValueClearListener(java.util.function.Consumer<SingleFileUploadField.BeforeValueClearEvent> listener)
Sets a callback interface which is invoked by the
SingleFileUploadField before value
clearing when user use clear button. |
io.jmix.core.common.event.Subscription |
addFileUploadErrorListener(java.util.function.Consumer<UploadField.FileUploadErrorEvent> listener)
Adds file upload error listener.
|
io.jmix.core.common.event.Subscription |
addFileUploadFinishListener(java.util.function.Consumer<UploadField.FileUploadFinishEvent> listener)
Adds file upload finish listener.
|
io.jmix.core.common.event.Subscription |
addFileUploadStartListener(java.util.function.Consumer<UploadField.FileUploadStartEvent> listener)
Adds file upload start listener.
|
io.jmix.core.common.event.Subscription |
addFileUploadSucceedListener(java.util.function.Consumer<SingleFileUploadField.FileUploadSucceedEvent> listener)
Adds file upload succeed listener.
|
void |
afterPropertiesSet() |
protected void |
clearButtonClicked(com.vaadin.ui.Button.ClickEvent clickEvent) |
void |
commit()
Updates all changes since the previous commit to the data source.
|
protected JmixFileUploadField |
createComponent() |
void |
discard()
Discards all changes since last commit.
|
protected void |
fireFileUploadError(java.lang.String fileName,
long contentLength,
java.lang.Exception cause) |
protected void |
fireFileUploadFinish(java.lang.String fileName,
long contentLength) |
protected void |
fireFileUploadStart(java.lang.String fileName,
long contentLength) |
protected void |
fireFileUploadSucceed(java.lang.String fileName,
long contentLength) |
void |
focus()
Sets focus to this component
|
java.lang.String |
getAccept()
Returns comma separated types of files.
|
protected long |
getActualFileSizeLimit() |
java.lang.String |
getClearButtonCaption() |
java.lang.String |
getClearButtonDescription() |
java.lang.String |
getClearButtonIcon() |
java.util.function.Supplier<java.io.InputStream> |
getContentProvider() |
UploadField.DropZone |
getDropZone() |
java.lang.String |
getDropZonePrompt() |
java.lang.String |
getFileName() |
long |
getFileSizeLimit()
Returns maximum allowed file size in bytes.
|
protected java.lang.String |
getFileSizeLimitString() |
ComponentContainer |
getPasteZone() |
java.util.Set<java.lang.String> |
getPermittedExtensions()
Returns white list of file extensions.
|
int |
getTabIndex()
Gets the tabulator index of the
HasTabIndex component. |
java.lang.String |
getUploadButtonCaption() |
java.lang.String |
getUploadButtonDescription() |
java.lang.String |
getUploadButtonIcon() |
protected void |
initComponent() |
protected void |
internalValueChanged(java.lang.Object newValue) |
boolean |
isBuffered() |
boolean |
isModified()
Tests if the value stored in the object has been modified since it was
last updated from the data source.
|
boolean |
isShowClearButton() |
boolean |
isShowFileName() |
protected void |
onFileExtensionNotAllowed(JmixFileUpload.FileExtensionNotAllowedEvent e) |
protected abstract void |
onFileNameClick(com.vaadin.ui.Button.ClickEvent e) |
protected void |
onFileSizeLimitExceeded(JmixFileUpload.FileSizeLimitExceededEvent e) |
protected void |
onUploadFailed(JmixFileUpload.FailedEvent event) |
protected void |
onUploadFinished(JmixFileUpload.FinishedEvent event) |
protected void |
onUploadStarted(JmixFileUpload.StartedEvent event) |
protected void |
onUploadSucceeded(JmixFileUpload.SucceededEvent event) |
protected abstract java.io.OutputStream |
receiveUpload(java.lang.String fileName,
java.lang.String MIMEType) |
void |
setAccept(java.lang.String accept)
Sets the mask for files to filter them in the file selection dialog.
|
void |
setBuffered(boolean buffered)
Sets the buffered mode.
|
void |
setClearButtonCaption(java.lang.String caption)
Setup clear button caption.
|
void |
setClearButtonDescription(java.lang.String description)
Setup clear button description.
|
void |
setClearButtonIcon(java.lang.String icon)
Setup clear button icon.
|
void |
setComponentProperties(UiComponentProperties componentProperties) |
void |
setContentProvider(java.util.function.Supplier<java.io.InputStream> contentProvider)
Set content provider which contains file data.
|
void |
setDownloader(Downloader downloader) |
void |
setDropZone(UploadField.DropZone dropZone)
Sets drop zone reference to this upload component.
|
void |
setDropZonePrompt(java.lang.String dropZonePrompt)
Sets drop zone prompt that will be shown on drag over window with file.
|
void |
setFileSizeLimit(long fileSizeLimit)
Sets maximum allowed file size in bytes.
|
void |
setMessages(io.jmix.core.Messages messages) |
void |
setPasteZone(ComponentContainer pasteZone)
Sets paste zone reference to this upload component.
|
void |
setPermittedExtensions(java.util.Set<java.lang.String> permittedExtensions)
Sets white list of file extensions.
|
void |
setShowClearButton(boolean showClearButton)
Enable or disable displaying name of clear button.
|
void |
setShowFileName(boolean showFileName)
Enable or disable displaying name of uploaded file next to upload button.
|
void |
setTabIndex(int tabIndex)
Sets the tabulator index of the
Focusable component. |
void |
setUploadButtonCaption(java.lang.String caption)
Setup caption of upload button.
|
void |
setUploadButtonDescription(java.lang.String description)
Setup upload button description.
|
void |
setUploadButtonIcon(java.lang.String icon)
Setup upload button icon.
|
addValidator, attachValueChangeListener, getDatatypeConversionErrorMsg, getDefaultRequiredMessage, getErrorMessage, getRequiredMessage, getValidators, isEditable, isRequired, isValid, removeValidator, setEditable, setEditableToComponent, setParent, setRequired, setRequiredMessage, setupComponentErrorProvider, triggerValidators, validateaddValueChangeListener, componentValueChanged, convertToModel, convertToPresentation, fieldValueEquals, getValue, getValueSource, setUiTestId, setUiTestIdsSupport, setValue, setValueSource, setValueToPresentation, valueBindingActivated, valueBindingConnectedaddAttachListener, addDetachListener, addStyleName, assignDebugId, attached, detached, getAlignment, getCaption, getComponent, getComposition, getContextHelpIconClickHandler, getContextHelpText, getDebugId, getDescription, getEventHub, getFrame, getHeight, getHeightSizeUnit, getHtmlSanitizer, getIcon, getIconName, getIconResource, getId, getParent, getStyleName, getUiComponentProperties, getUiProperties, getWidth, getWidthSizeUnit, getXmlDescriptor, hasSubscriptions, hasValidationError, isAttached, isCaptionAsHtml, isContextHelpTextHtmlEnabled, isDescriptionAsHtml, isEnabled, isEnabledRecursive, isHtmlSanitizerEnabled, isResponsive, isVisible, isVisibleRecursive, onContextHelpIconClick, publish, removeStyleName, sanitize, setAlignment, setApplicationContext, setCaption, setCaptionAsHtml, setContextHelpIconClickHandler, setContextHelpText, setContextHelpTextHtmlEnabled, setDebugId, setDescription, setDescriptionAsHtml, setEnabled, setFrame, setHeight, setHtmlSanitizerEnabled, setIcon, setIconFromSet, setId, setResponsive, setStyleName, setValidationError, setVisible, setWidth, setXmlDescriptor, unsubscribe, unwrap, unwrapComposition, unwrapCompositionOrNull, unwrapOrNull, withUnwrapped, withUnwrappedCompositionclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetFileContentgetFrame, setFramegetIcon, setIcon, setIconFromSetisFocusable, setFocusableaddStyleName, getAlignment, getHeight, getHeightSizeUnit, getId, getParent, getStyleName, getWidth, getWidthSizeUnit, isEnabled, isEnabledRecursive, isResponsive, isVisible, isVisibleRecursive, removeStyleName, setAlignment, setEnabled, setHeight, setHeightAuto, setHeightFull, setId, setParent, setResponsive, setSizeAuto, setSizeFull, setStyleName, setVisible, setWidth, setWidthAuto, setWidthFull, unwrap, unwrapComposition, unwrapCompositionOrNull, unwrapOrNull, withUnwrapped, withUnwrappedCompositionisCaptionAsHtml, setCaptionAsHtmlgetCaption, setCaptiongetDescription, setDescriptionisDescriptionAsHtml, setDescriptionAsHtmlisHtmlSanitizerEnabled, setHtmlSanitizerEnabledgetValueSource, setValueSourceaddValueChangeListener, clear, getEmptyValue, getValue, isEmpty, setValueisEditableWithParentisValidateOnCommitgetContextHelpIconClickHandler, getContextHelpText, isContextHelpTextHtmlEnabled, setContextHelpIconClickHandler, setContextHelpText, setContextHelpTextHtmlEnabledaddValidatorsprotected static final int BYTES_IN_MEGABYTE
protected Downloader downloader
protected io.jmix.core.Messages messages
protected java.util.function.Supplier<java.io.InputStream> contentProvider
protected UiComponentProperties componentProperties
protected long fileSizeLimit
protected java.util.Set<java.lang.String> permittedExtensions
protected java.lang.String accept
protected java.lang.String fileName
protected UploadField.DropZone dropZone
protected ComponentContainer pasteZone
protected java.lang.String dropZonePrompt
protected JmixFileUploadField createComponent()
@Autowired public void setDownloader(Downloader downloader)
@Autowired public void setMessages(io.jmix.core.Messages messages)
@Autowired public void setComponentProperties(UiComponentProperties componentProperties)
public void afterPropertiesSet()
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBeanprotected void initComponent()
protected abstract java.io.OutputStream receiveUpload(java.lang.String fileName,
java.lang.String MIMEType)
protected void onUploadStarted(JmixFileUpload.StartedEvent event)
protected void onUploadFinished(JmixFileUpload.FinishedEvent event)
protected void onUploadSucceeded(JmixFileUpload.SucceededEvent event)
protected void onUploadFailed(JmixFileUpload.FailedEvent event)
protected void onFileSizeLimitExceeded(JmixFileUpload.FileSizeLimitExceededEvent e)
protected void onFileExtensionNotAllowed(JmixFileUpload.FileExtensionNotAllowedEvent e)
protected abstract void onFileNameClick(com.vaadin.ui.Button.ClickEvent e)
@Nullable public java.lang.String getFileName()
public io.jmix.core.common.event.Subscription addFileUploadSucceedListener(java.util.function.Consumer<SingleFileUploadField.FileUploadSucceedEvent> listener)
SingleFileUploadFieldaddFileUploadSucceedListener in interface SingleFileUploadFieldlistener - a listener to add@Nullable public java.lang.String getAccept()
UploadFieldgetAccept in interface UploadFieldpublic void setAccept(@Nullable
java.lang.String accept)
UploadField
uploadField.setAccept(".png,.jpeg");
setAccept in interface UploadFieldaccept - comma separated types of filespublic void setDropZone(@Nullable
UploadField.DropZone dropZone)
UploadFieldsetDropZone in interface UploadFielddropZone - drop zone descriptorpublic void setPasteZone(@Nullable
ComponentContainer pasteZone)
UploadFieldsetPasteZone in interface UploadFieldpasteZone - paste zone containerpublic void setDropZonePrompt(@Nullable
java.lang.String dropZonePrompt)
UploadFieldsetDropZonePrompt in interface UploadFielddropZonePrompt - drop zone promptpublic long getFileSizeLimit()
UploadFieldgetFileSizeLimit in interface UploadFieldprotected long getActualFileSizeLimit()
@Nullable public java.util.Set<java.lang.String> getPermittedExtensions()
UploadFieldgetPermittedExtensions in interface UploadFieldprotected java.lang.String getFileSizeLimitString()
protected void internalValueChanged(java.lang.Object newValue)
@Nullable public UploadField.DropZone getDropZone()
getDropZone in interface UploadField@Nullable public ComponentContainer getPasteZone()
getPasteZone in interface UploadField@Nullable public java.lang.String getDropZonePrompt()
getDropZonePrompt in interface UploadFieldprotected void clearButtonClicked(com.vaadin.ui.Button.ClickEvent clickEvent)
protected void fireFileUploadStart(java.lang.String fileName,
long contentLength)
protected void fireFileUploadFinish(java.lang.String fileName,
long contentLength)
protected void fireFileUploadError(java.lang.String fileName,
long contentLength,
java.lang.Exception cause)
protected void fireFileUploadSucceed(java.lang.String fileName,
long contentLength)
public void setContentProvider(@Nullable
java.util.function.Supplier<java.io.InputStream> contentProvider)
SingleFileUploadFieldPassed content provider will be used for downloading by clicking the link with file name
or as source for SingleFileUploadField.getFileContent() method.
setContentProvider in interface SingleFileUploadFieldcontentProvider - content provider@Nullable public java.util.function.Supplier<java.io.InputStream> getContentProvider()
getContentProvider in interface SingleFileUploadFieldpublic io.jmix.core.common.event.Subscription addFileUploadStartListener(java.util.function.Consumer<UploadField.FileUploadStartEvent> listener)
UploadFieldaddFileUploadStartListener in interface UploadFieldlistener - a listener to addpublic io.jmix.core.common.event.Subscription addFileUploadFinishListener(java.util.function.Consumer<UploadField.FileUploadFinishEvent> listener)
UploadFieldaddFileUploadFinishListener in interface UploadFieldlistener - a listener to addpublic io.jmix.core.common.event.Subscription addFileUploadErrorListener(java.util.function.Consumer<UploadField.FileUploadErrorEvent> listener)
UploadFieldaddFileUploadErrorListener in interface UploadFieldlistener - a listener to addpublic void setFileSizeLimit(long fileSizeLimit)
UploadFieldsetFileSizeLimit in interface UploadFieldpublic boolean isShowFileName()
isShowFileName in interface SingleFileUploadFieldpublic void setShowFileName(boolean showFileName)
SingleFileUploadFieldsetShowFileName in interface SingleFileUploadFieldpublic void setPermittedExtensions(@Nullable
java.util.Set<java.lang.String> permittedExtensions)
UploadField
uploadField.setPermittedExtensions(Sets.newHashSet(".png", ".jpg"));
setPermittedExtensions in interface UploadFieldpermittedExtensions - permitted extensions.public void setShowClearButton(boolean showClearButton)
SingleFileUploadFieldsetShowClearButton in interface SingleFileUploadFieldpublic boolean isShowClearButton()
isShowClearButton in interface SingleFileUploadFieldpublic void setClearButtonCaption(@Nullable
java.lang.String caption)
SingleFileUploadFieldsetClearButtonCaption in interface SingleFileUploadField@Nullable public java.lang.String getClearButtonCaption()
getClearButtonCaption in interface SingleFileUploadFieldpublic void setClearButtonIcon(@Nullable
java.lang.String icon)
SingleFileUploadFieldsetClearButtonIcon in interface SingleFileUploadField@Nullable public java.lang.String getClearButtonIcon()
getClearButtonIcon in interface SingleFileUploadFieldpublic void setClearButtonDescription(java.lang.String description)
SingleFileUploadFieldsetClearButtonDescription in interface SingleFileUploadFieldpublic java.lang.String getClearButtonDescription()
getClearButtonDescription in interface SingleFileUploadFieldpublic io.jmix.core.common.event.Subscription addBeforeValueClearListener(java.util.function.Consumer<SingleFileUploadField.BeforeValueClearEvent> listener)
SingleFileUploadFieldSingleFileUploadField before value
clearing when user use clear button.
Listener can prevent value clearing using SingleFileUploadField.BeforeValueClearEvent.preventClearAction().
addBeforeValueClearListener in interface SingleFileUploadFieldlistener - a listener to addSingleFileUploadField.setShowClearButton(boolean)public io.jmix.core.common.event.Subscription addAfterValueClearListener(java.util.function.Consumer<SingleFileUploadField.AfterValueClearEvent> listener)
SingleFileUploadFieldSingleFileUploadField after value
has been cleared using clear button.addAfterValueClearListener in interface SingleFileUploadFieldlistener - a listener to addSingleFileUploadField.setShowClearButton(boolean)public void setUploadButtonCaption(@Nullable
java.lang.String caption)
SingleFileUploadFieldsetUploadButtonCaption in interface SingleFileUploadField@Nullable public java.lang.String getUploadButtonCaption()
getUploadButtonCaption in interface SingleFileUploadFieldpublic void setUploadButtonIcon(@Nullable
java.lang.String icon)
SingleFileUploadFieldsetUploadButtonIcon in interface SingleFileUploadField@Nullable public java.lang.String getUploadButtonIcon()
getUploadButtonIcon in interface SingleFileUploadFieldpublic void setUploadButtonDescription(@Nullable
java.lang.String description)
SingleFileUploadFieldsetUploadButtonDescription in interface SingleFileUploadField@Nullable public java.lang.String getUploadButtonDescription()
getUploadButtonDescription in interface SingleFileUploadFieldpublic void focus()
Component.Focusablefocus in interface Component.Focusablepublic int getTabIndex()
Component.FocusableHasTabIndex component.getTabIndex in interface Component.FocusableHasTabIndex componentpublic void setTabIndex(int tabIndex)
Component.FocusableFocusable component.
The tab index property is used to specify the order in which the
fields are focused when the user presses the Tab key. Components with
a defined tab index are focused sequentially first, and then the
components with no tab index.setTabIndex in interface Component.FocusabletabIndex - tab indexpublic void commit()
Bufferedcommit in interface Bufferedcommit in class AbstractValueComponent<JmixFileUploadField,java.lang.String,R>public void discard()
Buffereddiscard in interface Buffereddiscard in class AbstractValueComponent<JmixFileUploadField,java.lang.String,R>public boolean isBuffered()
isBuffered in interface BufferedisBuffered in class AbstractValueComponent<JmixFileUploadField,java.lang.String,R>true if buffered mode is on, false otherwisepublic void setBuffered(boolean buffered)
Buffered
When in buffered mode, an internal buffer will be used to store changes
until Buffered.commit() is called. Calling Buffered.discard() will revert
the internal buffer to the value of the data source.
When in non-buffered mode both read and write operations will be done
directly on the data source. In this mode the Buffered.commit() and
Buffered.discard() methods serve no purpose.
setBuffered in interface BufferedsetBuffered in class AbstractValueComponent<JmixFileUploadField,java.lang.String,R>buffered - true if buffered mode should be turned on, false otherwisepublic boolean isModified()
BufferedisModified in interface BufferedisModified in class AbstractValueComponent<JmixFileUploadField,java.lang.String,R>true if the value in the object has been modified
since the last data source update, false if not.