Package io.jmix.ui.component.impl
Class CurrencyFieldImpl<V extends Number>
java.lang.Object
io.jmix.ui.component.impl.AbstractComponent<T>
io.jmix.ui.component.impl.AbstractValueComponent<T,P,V>
io.jmix.ui.component.impl.AbstractField<JmixCurrencyField,String,V>
io.jmix.ui.component.impl.CurrencyFieldImpl<V>
- All Implemented Interfaces:
AttachNotifier,Buffered,Component,Component.BelongToFrame,Component.Editable,Component.Focusable,Component.HasCaption,Component.HasDescription,Component.HasIcon,Component.HasXmlDescriptor,Component.Wrapper,CurrencyField<V>,HasValueSource<V>,Field<V>,HasContextHelp,HasConversionErrorMessage,HasDatatype<V>,HasDebugId,HasHtmlCaption,HasHtmlDescription,HasHtmlSanitizer,HasValidator<V>,HasValue<V>,Requirable,Validatable
public class CurrencyFieldImpl<V extends Number>
extends AbstractField<JmixCurrencyField,String,V>
implements CurrencyField<V>
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.jmix.ui.component.Component
Component.Alignment, Component.BelongToFrame, Component.Disposable, Component.Editable, Component.Focusable, Component.HasCaption, Component.HasDescription, Component.HasIcon, Component.HasXmlDescriptor, Component.WrapperNested classes/interfaces inherited from interface io.jmix.ui.component.CurrencyField
CurrencyField.CurrencyLabelPositionNested classes/interfaces inherited from interface io.jmix.ui.component.HasContextHelp
HasContextHelp.ContextHelpIconClickEventNested classes/interfaces inherited from interface io.jmix.ui.component.HasValue
HasValue.ValueChangeEvent<V> -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Stringprotected DataAwareComponentsToolsprotected LocaleFields inherited from class io.jmix.ui.component.impl.AbstractField
editable, parentEditableChangeListener, validators, VALIDATORS_LIST_INITIAL_CAPACITYFields inherited from class io.jmix.ui.component.impl.AbstractValueComponent
internalValue, uiTestIdsSupport, valueBindingFields inherited from class io.jmix.ui.component.impl.AbstractComponent
alignment, applicationContext, component, contextHelpIconClickHandler, contextHelpIconClickListener, descriptionAsHtml, element, frame, htmlSanitizerEnabled, icon, ICON_STYLE, id, parentFields inherited from interface io.jmix.ui.component.Component
AUTO_SIZE, AUTO_SIZE_PX, FULL_SIZEFields inherited from interface io.jmix.ui.component.CurrencyField
NAME, TYPE_BIGDECIMAL, TYPE_DEFAULT, TYPE_DOUBLE, TYPE_INTEGER, TYPE_LONG -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidattachValueChangeListener(JmixCurrencyField component) voidcommit()Updates all changes since the previous commit to the data source.protected VconvertToModel(String componentRawValue) protected StringconvertToPresentation(V modelValue) protected JmixCurrencyFieldvoiddiscard()Discards all changes since last commit.voidfocus()Sets focus to this componentprotected CurrencyField.CurrencyLabelPositionfromWidgetLabelPosition(CurrencyLabelPosition wLabelPosition) protected StringbooleanintGets the tabulator index of theHasTabIndexcomponent.protected voidinitComponent(JmixCurrencyField component) booleanbooleanTests if the value stored in the object has been modified since it was last updated from the data source.voidsetBuffered(boolean buffered) Sets the buffered mode.voidsetConversionErrorMessage(String conversionErrorMessage) Sets custom conversion error message that is used when value doesn't correspond to datatype.voidsetCurrency(String currency) Sets the givencurrencyto the field.voidsetCurrencyLabelPosition(CurrencyField.CurrencyLabelPosition currencyLabelPosition) Sets where the currency label will be located: to the left or to the right from the text input component.voidsetCurrentAuthentication(CurrentAuthentication currentAuthentication) voidsetDataAwareComponentsTools(DataAwareComponentsTools dataAwareComponentsTools) voidsetDatatype(Datatype<V> datatype) Sets the givendatatypeto the component.voidsetDatatypeRegistry(DatatypeRegistry datatypeRegistry) voidsetShowCurrencyLabel(boolean showCurrencyLabel) Enables or disables currency label displaying.voidsetTabIndex(int tabIndex) Sets the tabulator index of theFocusablecomponent.protected CurrencyLabelPositiontoWidgetLabelPosition(CurrencyField.CurrencyLabelPosition labelPosition) protected voidvalueBindingConnected(ValueSource<V> valueSource) Methods inherited from class io.jmix.ui.component.impl.AbstractField
addValidator, getDatatypeConversionErrorMsg, getDefaultRequiredMessage, getErrorMessage, getRequiredMessage, getValidators, isEditable, isRequired, isValid, removeValidator, setEditable, setEditableToComponent, setParent, setRequired, setRequiredMessage, setupComponentErrorProvider, triggerValidators, validateMethods inherited from class io.jmix.ui.component.impl.AbstractValueComponent
addValueChangeListener, componentValueChanged, fieldValueEquals, getValue, getValueSource, setUiTestId, setUiTestIdsSupport, setValue, setValueSource, setValueToPresentation, valueBindingActivatedMethods inherited from class io.jmix.ui.component.impl.AbstractComponent
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, withUnwrappedCompositionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.jmix.ui.component.Component
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, withUnwrappedCompositionMethods inherited from interface io.jmix.ui.component.Component.BelongToFrame
getFrame, setFrameMethods inherited from interface io.jmix.ui.component.Component.Editable
isEditable, isEditableWithParent, setEditableMethods inherited from interface io.jmix.ui.component.Component.Focusable
isFocusable, setFocusableMethods inherited from interface io.jmix.ui.component.Component.HasCaption
getCaption, setCaptionMethods inherited from interface io.jmix.ui.component.Component.HasDescription
getDescription, setDescriptionMethods inherited from interface io.jmix.ui.component.Component.HasIcon
getIcon, setIcon, setIconFromSetMethods inherited from interface io.jmix.ui.component.HasContextHelp
getContextHelpIconClickHandler, getContextHelpText, isContextHelpTextHtmlEnabled, setContextHelpIconClickHandler, setContextHelpText, setContextHelpTextHtmlEnabledMethods inherited from interface io.jmix.ui.component.HasHtmlCaption
isCaptionAsHtml, setCaptionAsHtmlMethods inherited from interface io.jmix.ui.component.HasHtmlDescription
isDescriptionAsHtml, setDescriptionAsHtmlMethods inherited from interface io.jmix.ui.component.HasHtmlSanitizer
isHtmlSanitizerEnabled, setHtmlSanitizerEnabledMethods inherited from interface io.jmix.ui.component.HasValidator
addValidator, addValidators, getValidators, removeValidatorMethods inherited from interface io.jmix.ui.component.HasValue
addValueChangeListener, clear, getEmptyValue, getValue, isEmpty, setValueMethods inherited from interface io.jmix.ui.component.data.HasValueSource
getValueSource, setValueSourceMethods inherited from interface io.jmix.ui.component.Requirable
getRequiredMessage, isRequired, setRequired, setRequiredMessageMethods inherited from interface io.jmix.ui.component.Validatable
isValid, isValidateOnCommit, validate
-
Field Details
-
locale
-
datatype
-
defaultDatatype
-
conversionErrorMessage
-
dataAwareComponentsTools
-
-
Constructor Details
-
CurrencyFieldImpl
public CurrencyFieldImpl()
-
-
Method Details
-
createComponent
-
initComponent
-
setDataAwareComponentsTools
@Autowired public void setDataAwareComponentsTools(DataAwareComponentsTools dataAwareComponentsTools) -
setDatatypeRegistry
-
attachValueChangeListener
- Overrides:
attachValueChangeListenerin classAbstractField<JmixCurrencyField,String, V extends Number>
-
setCurrentAuthentication
-
convertToPresentation
- Overrides:
convertToPresentationin classAbstractValueComponent<JmixCurrencyField,String, V extends Number> - Throws:
ConversionException
-
convertToModel
- Overrides:
convertToModelin classAbstractValueComponent<JmixCurrencyField,String, V extends Number> - Throws:
ConversionException
-
setConversionErrorMessage
Description copied from interface:HasConversionErrorMessageSets custom conversion error message that is used when value doesn't correspond to datatype.- Specified by:
setConversionErrorMessagein interfaceHasConversionErrorMessage- Parameters:
conversionErrorMessage- custom conversion error message
-
getConversionErrorMessage
- Specified by:
getConversionErrorMessagein interfaceHasConversionErrorMessage- Returns:
- custom conversion error message
-
getConversionErrorMessageInternal
-
setCurrency
Description copied from interface:CurrencyFieldSets the givencurrencyto the field. Currency label will be displayed next to the text input component if theshowCurrencyoption is enabled. Recommended max currency length - 3 character.- Specified by:
setCurrencyin interfaceCurrencyField<V extends Number>- Parameters:
currency- currency ($, EUR, etc)
-
getCurrency
- Specified by:
getCurrencyin interfaceCurrencyField<V extends Number>- Returns:
- current currency
-
setShowCurrencyLabel
public void setShowCurrencyLabel(boolean showCurrencyLabel) Description copied from interface:CurrencyFieldEnables or disables currency label displaying.- Specified by:
setShowCurrencyLabelin interfaceCurrencyField<V extends Number>
-
getShowCurrencyLabel
public boolean getShowCurrencyLabel()- Specified by:
getShowCurrencyLabelin interfaceCurrencyField<V extends Number>- Returns:
- true if currency label is displayed or false otherwise
-
setCurrencyLabelPosition
Description copied from interface:CurrencyFieldSets where the currency label will be located: to the left or to the right from the text input component.- Specified by:
setCurrencyLabelPositionin interfaceCurrencyField<V extends Number>- Parameters:
currencyLabelPosition- not-nullCurrencyField.CurrencyLabelPositionvalue
-
getCurrencyLabelPosition
- Specified by:
getCurrencyLabelPositionin interfaceCurrencyField<V extends Number>- Returns:
- where the currency label is located
-
valueBindingConnected
- Overrides:
valueBindingConnectedin classAbstractValueComponent<JmixCurrencyField,String, V extends Number>
-
setDatatype
Description copied from interface:HasDatatypeSets the givendatatypeto the component. Its value will be formatted according to this datatype.- Specified by:
setDatatypein interfaceHasDatatype<V extends Number>- Parameters:
datatype-Datatypeinstance
-
getDatatype
- Specified by:
getDatatypein interfaceHasDatatype<V extends Number>- Returns:
- a datatype that is used by this component
-
getDatatypeInternal
-
commit
public void commit()Description copied from interface:BufferedUpdates all changes since the previous commit to the data source.- Specified by:
commitin interfaceBuffered- Overrides:
commitin classAbstractValueComponent<JmixCurrencyField,String, V extends Number>
-
discard
public void discard()Description copied from interface:BufferedDiscards all changes since last commit. The object updates its value from the data source.- Specified by:
discardin interfaceBuffered- Overrides:
discardin classAbstractValueComponent<JmixCurrencyField,String, V extends Number>
-
isBuffered
public boolean isBuffered()- Specified by:
isBufferedin interfaceBuffered- Overrides:
isBufferedin classAbstractValueComponent<JmixCurrencyField,String, V extends Number> - Returns:
trueif buffered mode is on,falseotherwise
-
setBuffered
public void setBuffered(boolean buffered) Description copied from interface:BufferedSets the buffered mode.When in buffered mode, an internal buffer will be used to store changes until
Buffered.commit()is called. CallingBuffered.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()andBuffered.discard()methods serve no purpose.- Specified by:
setBufferedin interfaceBuffered- Overrides:
setBufferedin classAbstractValueComponent<JmixCurrencyField,String, V extends Number> - Parameters:
buffered-trueif buffered mode should be turned on,falseotherwise
-
isModified
public boolean isModified()Description copied from interface:BufferedTests if the value stored in the object has been modified since it was last updated from the data source.- Specified by:
isModifiedin interfaceBuffered- Overrides:
isModifiedin classAbstractValueComponent<JmixCurrencyField,String, V extends Number> - Returns:
trueif the value in the object has been modified since the last data source update,falseif not.
-
focus
public void focus()Description copied from interface:Component.FocusableSets focus to this component- Specified by:
focusin interfaceComponent.Focusable
-
getTabIndex
public int getTabIndex()Description copied from interface:Component.FocusableGets the tabulator index of theHasTabIndexcomponent.- Specified by:
getTabIndexin interfaceComponent.Focusable- Returns:
- tab index set for the
HasTabIndexcomponent
-
setTabIndex
public void setTabIndex(int tabIndex) Description copied from interface:Component.FocusableSets the tabulator index of theFocusablecomponent. 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.- Specified by:
setTabIndexin interfaceComponent.Focusable- Parameters:
tabIndex- tab index
-
toWidgetLabelPosition
protected CurrencyLabelPosition toWidgetLabelPosition(CurrencyField.CurrencyLabelPosition labelPosition) -
fromWidgetLabelPosition
protected CurrencyField.CurrencyLabelPosition fromWidgetLabelPosition(CurrencyLabelPosition wLabelPosition)
-