Package io.jmix.ui.component.impl
Class MaskedFieldImpl<V>
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<JmixMaskedTextField,String,V>
io.jmix.ui.component.impl.MaskedFieldImpl<V>
- All Implemented Interfaces:
AttachNotifier
,Buffered
,Component
,Component.BelongToFrame
,Component.Editable
,Component.Focusable
,Component.HasCaption
,Component.HasDescription
,Component.HasIcon
,Component.HasXmlDescriptor
,Component.Wrapper
,HasValueSource<V>
,Field<V>
,HasContextHelp
,HasDatatype<V>
,HasDebugId
,HasHtmlCaption
,HasHtmlDescription
,HasHtmlSanitizer
,HasValidator<V>
,HasValue<V>
,MaskedField<V>
,Requirable
,TextInputField<V>
,TextInputField.CursorPositionSupported
,TextInputField.EnterPressNotifier
,TextInputField.TextSelectionSupported
,Validatable
,org.springframework.beans.factory.InitializingBean
public class MaskedFieldImpl<V>
extends AbstractField<JmixMaskedTextField,String,V>
implements MaskedField<V>, org.springframework.beans.factory.InitializingBean
-
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.Wrapper
Nested classes/interfaces inherited from interface io.jmix.ui.component.HasContextHelp
HasContextHelp.ContextHelpIconClickEvent
Nested classes/interfaces inherited from interface io.jmix.ui.component.HasValue
HasValue.ValueChangeEvent<V>
Nested classes/interfaces inherited from interface io.jmix.ui.component.MaskedField
MaskedField.ValueMode
Nested classes/interfaces inherited from interface io.jmix.ui.component.TextInputField
TextInputField.CaseConversion, TextInputField.CaseConversionSupported, TextInputField.CursorPositionSupported, TextInputField.EnterPressEvent, TextInputField.EnterPressNotifier, TextInputField.HtmlNameSupported, TextInputField.MaxLengthLimited, TextInputField.TextChangeEvent, TextInputField.TextChangeEventMode, TextInputField.TextChangeNotifier, TextInputField.TextSelectionSupported, TextInputField.TrimSupported
-
Field Summary
Modifier and TypeFieldDescriptionprotected DataAwareComponentsTools
protected com.vaadin.shared.Registration
protected Locale
protected String
protected static final char
Fields inherited from class io.jmix.ui.component.impl.AbstractField
editable, parentEditableChangeListener, validators, VALIDATORS_LIST_INITIAL_CAPACITY
Fields inherited from class io.jmix.ui.component.impl.AbstractValueComponent
internalValue, uiTestIdsSupport, valueBinding
Fields inherited from class io.jmix.ui.component.impl.AbstractComponent
alignment, applicationContext, component, contextHelpIconClickHandler, contextHelpIconClickListener, descriptionAsHtml, element, frame, htmlSanitizerEnabled, icon, ICON_STYLE, id, parent
Fields inherited from interface io.jmix.ui.component.Component
AUTO_SIZE, AUTO_SIZE_PX, FULL_SIZE
Fields inherited from interface io.jmix.ui.component.MaskedField
NAME, TYPE_BIGDECIMAL, TYPE_DEFAULT, TYPE_DOUBLE, TYPE_INTEGER, TYPE_LONG, TYPE_STRING, TYPE_UUID
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionAdds a listener that is invoked when the user presses Enter.void
void
commit()
Updates all changes since the previous commit to the data source.protected V
convertToModel
(String componentRawValue) protected String
convertToPresentation
(V modelValue) protected JmixMaskedTextField
void
discard()
Discards all changes since last commit.void
focus()
Sets focus to this componentprotected String
getMask()
protected String
Returns a string representation of the value.int
Gets the tabulator index of theHasTabIndex
component.protected void
initComponent
(JmixMaskedTextField component) protected void
boolean
boolean
isEmpty()
boolean
Tests if the value stored in the object has been modified since it was last updated from the data source.boolean
void
void
setBuffered
(boolean buffered) Sets the buffered mode.void
setCurrentAuthentication
(CurrentAuthentication currentAuthentication) void
setCursorPosition
(int position) Sets the cursor position in the field.void
setDataAwareComponentsTools
(DataAwareComponentsTools dataAwareComponentsTools) void
setDatatype
(Datatype<V> datatype) Sets the givendatatype
to the component.void
void
setSelectionRange
(int pos, int length) void
setSendNullRepresentation
(boolean sendNullRepresentation) void
setTabIndex
(int tabIndex) Sets the tabulator index of theFocusable
component.void
Sets ValueMode for componentprotected void
Methods inherited from class io.jmix.ui.component.impl.AbstractField
addValidator, attachValueChangeListener, getDatatypeConversionErrorMsg, getDefaultRequiredMessage, getErrorMessage, getRequiredMessage, getValidators, isEditable, isRequired, isValid, removeValidator, setEditable, setEditableToComponent, setParent, setRequired, setRequiredMessage, setupComponentErrorProvider, triggerValidators, validate
Methods inherited from class io.jmix.ui.component.impl.AbstractValueComponent
addValueChangeListener, componentValueChanged, fieldValueEquals, getValue, getValueSource, setUiTestId, setUiTestIdsSupport, setValue, setValueSource, setValueToPresentation, valueBindingActivated, valueBindingConnected
Methods 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, withUnwrappedComposition
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods 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, withUnwrappedComposition
Methods inherited from interface io.jmix.ui.component.Component.BelongToFrame
getFrame, setFrame
Methods inherited from interface io.jmix.ui.component.Component.Editable
isEditable, isEditableWithParent, setEditable
Methods inherited from interface io.jmix.ui.component.Component.Focusable
isFocusable, setFocusable
Methods inherited from interface io.jmix.ui.component.Component.HasCaption
getCaption, setCaption
Methods inherited from interface io.jmix.ui.component.Component.HasDescription
getDescription, setDescription
Methods inherited from interface io.jmix.ui.component.Component.HasIcon
getIcon, setIcon, setIconFromSet
Methods inherited from interface io.jmix.ui.component.HasContextHelp
getContextHelpIconClickHandler, getContextHelpText, isContextHelpTextHtmlEnabled, setContextHelpIconClickHandler, setContextHelpText, setContextHelpTextHtmlEnabled
Methods inherited from interface io.jmix.ui.component.HasHtmlCaption
isCaptionAsHtml, setCaptionAsHtml
Methods inherited from interface io.jmix.ui.component.HasHtmlDescription
isDescriptionAsHtml, setDescriptionAsHtml
Methods inherited from interface io.jmix.ui.component.HasHtmlSanitizer
isHtmlSanitizerEnabled, setHtmlSanitizerEnabled
Methods inherited from interface io.jmix.ui.component.HasValidator
addValidator, addValidators, getValidators, removeValidator
Methods inherited from interface io.jmix.ui.component.HasValue
addValueChangeListener, clear, getEmptyValue, getValue, setValue
Methods inherited from interface io.jmix.ui.component.data.HasValueSource
getValueSource, setValueSource
Methods inherited from interface io.jmix.ui.component.Requirable
getRequiredMessage, isRequired, setRequired, setRequiredMessage
Methods inherited from interface io.jmix.ui.component.Validatable
isValid, isValidateOnCommit, validate
-
Field Details
-
PLACE_HOLDER
protected static final char PLACE_HOLDER- See Also:
-
MASK_SYMBOLS
-
enterShortcutRegistration
protected com.vaadin.shared.Registration enterShortcutRegistration -
nullRepresentation
-
datatype
-
locale
-
dataAwareComponentsTools
-
-
Constructor Details
-
MaskedFieldImpl
public MaskedFieldImpl()
-
-
Method Details
-
setDataAwareComponentsTools
@Autowired public void setDataAwareComponentsTools(DataAwareComponentsTools dataAwareComponentsTools) -
setCurrentAuthentication
-
setMask
- Specified by:
setMask
in interfaceMaskedField<V>
-
updateNullRepresentation
protected void updateNullRepresentation() -
getNullRepresentation
-
isEmpty
public boolean isEmpty() -
getMask
- Specified by:
getMask
in interfaceMaskedField<V>
-
setValueMode
Description copied from interface:MaskedField
Sets ValueMode for componentMASKED - value contain mask literals CLEAR - value contain only user input.
- Specified by:
setValueMode
in interfaceMaskedField<V>
- Parameters:
mode
- value mode
-
getValueMode
- Specified by:
getValueMode
in interfaceMaskedField<V>
-
isSendNullRepresentation
public boolean isSendNullRepresentation()- Specified by:
isSendNullRepresentation
in interfaceMaskedField<V>
-
setSendNullRepresentation
public void setSendNullRepresentation(boolean sendNullRepresentation) - Specified by:
setSendNullRepresentation
in interfaceMaskedField<V>
-
getRawValue
Description copied from interface:MaskedField
Returns a string representation of the value.- Specified by:
getRawValue
in interfaceMaskedField<V>
-
getDatatype
- Specified by:
getDatatype
in interfaceHasDatatype<V>
- Returns:
- a datatype that is used by this component
-
setDatatype
Description copied from interface:HasDatatype
Sets the givendatatype
to the component. Its value will be formatted according to this datatype.- Specified by:
setDatatype
in interfaceHasDatatype<V>
- Parameters:
datatype
-Datatype
instance
-
convertToPresentation
- Overrides:
convertToPresentation
in classAbstractValueComponent<JmixMaskedTextField,
String, V> - Throws:
ConversionException
-
convertToModel
- Overrides:
convertToModel
in classAbstractValueComponent<JmixMaskedTextField,
String, V> - Throws:
ConversionException
-
getConversionErrorMessage
-
createComponent
-
afterPropertiesSet
public void afterPropertiesSet()- Specified by:
afterPropertiesSet
in interfaceorg.springframework.beans.factory.InitializingBean
-
initComponent
-
setCursorPosition
public void setCursorPosition(int position) Description copied from interface:TextInputField.CursorPositionSupported
Sets the cursor position in the field.- Specified by:
setCursorPosition
in interfaceTextInputField.CursorPositionSupported
- Parameters:
position
- new cursor position
-
selectAll
public void selectAll()- Specified by:
selectAll
in interfaceTextInputField.TextSelectionSupported
-
setSelectionRange
public void setSelectionRange(int pos, int length) - Specified by:
setSelectionRange
in interfaceTextInputField.TextSelectionSupported
-
addEnterPressListener
Description copied from interface:TextInputField.EnterPressNotifier
Adds a listener that is invoked when the user presses Enter.- Specified by:
addEnterPressListener
in interfaceTextInputField.EnterPressNotifier
- Parameters:
listener
- a listener to add- Returns:
- a
Subscription
-
internalRemoveEnterPressListener
-
focus
public void focus()Description copied from interface:Component.Focusable
Sets focus to this component- Specified by:
focus
in interfaceComponent.Focusable
-
getTabIndex
public int getTabIndex()Description copied from interface:Component.Focusable
Gets the tabulator index of theHasTabIndex
component.- Specified by:
getTabIndex
in interfaceComponent.Focusable
- Returns:
- tab index set for the
HasTabIndex
component
-
setTabIndex
public void setTabIndex(int tabIndex) Description copied from interface:Component.Focusable
Sets the tabulator index of theFocusable
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.- Specified by:
setTabIndex
in interfaceComponent.Focusable
- Parameters:
tabIndex
- tab index
-
commit
public void commit()Description copied from interface:Buffered
Updates all changes since the previous commit to the data source.- Specified by:
commit
in interfaceBuffered
- Overrides:
commit
in classAbstractValueComponent<JmixMaskedTextField,
String, V>
-
discard
public void discard()Description copied from interface:Buffered
Discards all changes since last commit. The object updates its value from the data source.- Specified by:
discard
in interfaceBuffered
- Overrides:
discard
in classAbstractValueComponent<JmixMaskedTextField,
String, V>
-
isBuffered
public boolean isBuffered()- Specified by:
isBuffered
in interfaceBuffered
- Overrides:
isBuffered
in classAbstractValueComponent<JmixMaskedTextField,
String, V> - Returns:
true
if buffered mode is on,false
otherwise
-
setBuffered
public void setBuffered(boolean buffered) Description copied from interface:Buffered
Sets 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:
setBuffered
in interfaceBuffered
- Overrides:
setBuffered
in classAbstractValueComponent<JmixMaskedTextField,
String, V> - Parameters:
buffered
-true
if buffered mode should be turned on,false
otherwise
-
isModified
public boolean isModified()Description copied from interface:Buffered
Tests if the value stored in the object has been modified since it was last updated from the data source.- Specified by:
isModified
in interfaceBuffered
- Overrides:
isModified
in classAbstractValueComponent<JmixMaskedTextField,
String, V> - Returns:
true
if the value in the object has been modified since the last data source update,false
if not.
-