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.FileUploadSucceedEvent
UploadField.DropZone, UploadField.FileUploadErrorEvent, UploadField.FileUploadEvent, UploadField.FileUploadFinishEvent, UploadField.FileUploadStartEvent
Component.Alignment, Component.BelongToFrame, Component.Disposable, Component.Editable, Component.Focusable, Component.HasCaption, Component.HasDescription, Component.HasIcon, Component.HasXmlDescriptor, Component.Wrapper
HasValue.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_CAPACITY
internalValue, uiTestIdsSupport, valueBinding
alignment, applicationContext, component, contextHelpIconClickHandler, contextHelpIconClickListener, descriptionAsHtml, element, frame, htmlSanitizerEnabled, icon, ICON_STYLE, id, parent
AUTO_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, validate
addValueChangeListener, componentValueChanged, convertToModel, convertToPresentation, fieldValueEquals, getValue, getValueSource, setUiTestId, setUiTestIdsSupport, setValue, setValueSource, setValueToPresentation, valueBindingActivated, valueBindingConnected
addAttachListener, 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, withUnwrappedComposition
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getFileContent
getFrame, setFrame
getIcon, setIcon, setIconFromSet
isFocusable, setFocusable
addStyleName, 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, withUnwrappedComposition
isCaptionAsHtml, setCaptionAsHtml
getCaption, setCaption
getDescription, setDescription
isDescriptionAsHtml, setDescriptionAsHtml
isHtmlSanitizerEnabled, setHtmlSanitizerEnabled
getValueSource, setValueSource
addValueChangeListener, clear, getEmptyValue, getValue, isEmpty, setValue
isEditableWithParent
isValidateOnCommit
getContextHelpIconClickHandler, getContextHelpText, isContextHelpTextHtmlEnabled, setContextHelpIconClickHandler, setContextHelpText, setContextHelpTextHtmlEnabled
addValidators
protected 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.InitializingBean
protected 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)
SingleFileUploadField
addFileUploadSucceedListener
in interface SingleFileUploadField
listener
- a listener to add@Nullable public java.lang.String getAccept()
UploadField
getAccept
in interface UploadField
public void setAccept(@Nullable java.lang.String accept)
UploadField
uploadField.setAccept(".png,.jpeg");
setAccept
in interface UploadField
accept
- comma separated types of filespublic void setDropZone(@Nullable UploadField.DropZone dropZone)
UploadField
setDropZone
in interface UploadField
dropZone
- drop zone descriptorpublic void setPasteZone(@Nullable ComponentContainer pasteZone)
UploadField
setPasteZone
in interface UploadField
pasteZone
- paste zone containerpublic void setDropZonePrompt(@Nullable java.lang.String dropZonePrompt)
UploadField
setDropZonePrompt
in interface UploadField
dropZonePrompt
- drop zone promptpublic long getFileSizeLimit()
UploadField
getFileSizeLimit
in interface UploadField
protected long getActualFileSizeLimit()
@Nullable public java.util.Set<java.lang.String> getPermittedExtensions()
UploadField
getPermittedExtensions
in interface UploadField
protected 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 UploadField
protected 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)
SingleFileUploadField
Passed content provider will be used for downloading by clicking the link with file name
or as source for SingleFileUploadField.getFileContent()
method.
setContentProvider
in interface SingleFileUploadField
contentProvider
- content provider@Nullable public java.util.function.Supplier<java.io.InputStream> getContentProvider()
getContentProvider
in interface SingleFileUploadField
public io.jmix.core.common.event.Subscription addFileUploadStartListener(java.util.function.Consumer<UploadField.FileUploadStartEvent> listener)
UploadField
addFileUploadStartListener
in interface UploadField
listener
- a listener to addpublic io.jmix.core.common.event.Subscription addFileUploadFinishListener(java.util.function.Consumer<UploadField.FileUploadFinishEvent> listener)
UploadField
addFileUploadFinishListener
in interface UploadField
listener
- a listener to addpublic io.jmix.core.common.event.Subscription addFileUploadErrorListener(java.util.function.Consumer<UploadField.FileUploadErrorEvent> listener)
UploadField
addFileUploadErrorListener
in interface UploadField
listener
- a listener to addpublic void setFileSizeLimit(long fileSizeLimit)
UploadField
setFileSizeLimit
in interface UploadField
public boolean isShowFileName()
isShowFileName
in interface SingleFileUploadField
public void setShowFileName(boolean showFileName)
SingleFileUploadField
setShowFileName
in interface SingleFileUploadField
public void setPermittedExtensions(@Nullable java.util.Set<java.lang.String> permittedExtensions)
UploadField
uploadField.setPermittedExtensions(Sets.newHashSet(".png", ".jpg"));
setPermittedExtensions
in interface UploadField
permittedExtensions
- permitted extensions.public void setShowClearButton(boolean showClearButton)
SingleFileUploadField
setShowClearButton
in interface SingleFileUploadField
public boolean isShowClearButton()
isShowClearButton
in interface SingleFileUploadField
public void setClearButtonCaption(@Nullable java.lang.String caption)
SingleFileUploadField
setClearButtonCaption
in interface SingleFileUploadField
@Nullable public java.lang.String getClearButtonCaption()
getClearButtonCaption
in interface SingleFileUploadField
public void setClearButtonIcon(@Nullable java.lang.String icon)
SingleFileUploadField
setClearButtonIcon
in interface SingleFileUploadField
@Nullable public java.lang.String getClearButtonIcon()
getClearButtonIcon
in interface SingleFileUploadField
public void setClearButtonDescription(java.lang.String description)
SingleFileUploadField
setClearButtonDescription
in interface SingleFileUploadField
public java.lang.String getClearButtonDescription()
getClearButtonDescription
in interface SingleFileUploadField
public io.jmix.core.common.event.Subscription addBeforeValueClearListener(java.util.function.Consumer<SingleFileUploadField.BeforeValueClearEvent> listener)
SingleFileUploadField
SingleFileUploadField
before value
clearing when user use clear button.
Listener can prevent value clearing using SingleFileUploadField.BeforeValueClearEvent.preventClearAction()
.
addBeforeValueClearListener
in interface SingleFileUploadField
listener
- a listener to addSingleFileUploadField.setShowClearButton(boolean)
public io.jmix.core.common.event.Subscription addAfterValueClearListener(java.util.function.Consumer<SingleFileUploadField.AfterValueClearEvent> listener)
SingleFileUploadField
SingleFileUploadField
after value
has been cleared using clear button.addAfterValueClearListener
in interface SingleFileUploadField
listener
- a listener to addSingleFileUploadField.setShowClearButton(boolean)
public void setUploadButtonCaption(@Nullable java.lang.String caption)
SingleFileUploadField
setUploadButtonCaption
in interface SingleFileUploadField
@Nullable public java.lang.String getUploadButtonCaption()
getUploadButtonCaption
in interface SingleFileUploadField
public void setUploadButtonIcon(@Nullable java.lang.String icon)
SingleFileUploadField
setUploadButtonIcon
in interface SingleFileUploadField
@Nullable public java.lang.String getUploadButtonIcon()
getUploadButtonIcon
in interface SingleFileUploadField
public void setUploadButtonDescription(@Nullable java.lang.String description)
SingleFileUploadField
setUploadButtonDescription
in interface SingleFileUploadField
@Nullable public java.lang.String getUploadButtonDescription()
getUploadButtonDescription
in interface SingleFileUploadField
public void focus()
Component.Focusable
focus
in interface Component.Focusable
public int getTabIndex()
Component.Focusable
HasTabIndex
component.getTabIndex
in interface Component.Focusable
HasTabIndex
componentpublic void setTabIndex(int tabIndex)
Component.Focusable
Focusable
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.Focusable
tabIndex
- tab indexpublic void commit()
Buffered
commit
in interface Buffered
commit
in class AbstractValueComponent<JmixFileUploadField,java.lang.String,R>
public void discard()
Buffered
discard
in interface Buffered
discard
in class AbstractValueComponent<JmixFileUploadField,java.lang.String,R>
public boolean isBuffered()
isBuffered
in interface Buffered
isBuffered
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 Buffered
setBuffered
in class AbstractValueComponent<JmixFileUploadField,java.lang.String,R>
buffered
- true
if buffered mode should be turned on, false
otherwisepublic boolean isModified()
Buffered
isModified
in interface Buffered
isModified
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.