Class AbstractSuperFloatingPointField<T extends Number,SELF extends AbstractSuperFloatingPointField<T,SELF>>
java.lang.Object
com.vaadin.flow.component.Component
com.vaadin.flow.component.AbstractField<com.vaadin.flow.component.customfield.CustomField<T>,T>
com.vaadin.flow.component.customfield.CustomField<T>
org.vaadin.miki.superfields.numbers.AbstractSuperNumberField<T,SELF>
org.vaadin.miki.superfields.numbers.AbstractSuperFloatingPointField<T,SELF>
- Type Parameters:
T- Type of number.SELF- Self type.
- All Implemented Interfaces:
com.vaadin.flow.component.AttachNotifier,com.vaadin.flow.component.BlurNotifier<com.vaadin.flow.component.customfield.CustomField<T>>,com.vaadin.flow.component.DetachNotifier,com.vaadin.flow.component.Focusable<com.vaadin.flow.component.customfield.CustomField<T>>,com.vaadin.flow.component.FocusNotifier<com.vaadin.flow.component.customfield.CustomField<T>>,com.vaadin.flow.component.HasElement,com.vaadin.flow.component.HasEnabled,com.vaadin.flow.component.HasHelper,com.vaadin.flow.component.HasLabel,com.vaadin.flow.component.HasSize,com.vaadin.flow.component.HasStyle,com.vaadin.flow.component.HasTheme,com.vaadin.flow.component.HasValidation,com.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.customfield.CustomField<T>,,T>, T> com.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.customfield.CustomField<T>,,T>, T> com.vaadin.flow.component.shared.HasClearButton,com.vaadin.flow.component.shared.HasPrefix,com.vaadin.flow.component.shared.HasSuffix,com.vaadin.flow.component.shared.HasTooltip,com.vaadin.flow.component.shared.HasValidationProperties,com.vaadin.flow.data.value.HasValueChangeMode,Serializable,TextSelectionNotifier<SELF>,CanReceiveSelectionEventsFromClient,CanSelectText,HasHelperPositionable,HasId,HasLabelPositionable,HasLocale,HasNullValueOptionallyAllowed<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.customfield.CustomField<T>,,T>, T> HasPlaceholder,HasRequired,HasTextInputMode,WithClearButtonMixin<SELF>,WithHelperMixin<SELF>,WithHelperPositionableMixin<SELF>,WithIdMixin<SELF>,WithLabelMixin<SELF>,WithLabelPositionableMixin<SELF>,WithLocaleMixin<SELF>,WithNullValueOptionallyAllowedMixin<SELF,,com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.customfield.CustomField<T>, T>, T> WithPlaceholderMixin<SELF>,WithReceivingSelectionEventsFromClientMixin<SELF>,WithRequiredMixin<SELF>,WithTextInputModeMixin<SELF>,WithTooltipMixin<SELF>,WithValueMixin<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.customfield.CustomField<T>,T>, T, SELF>
- Direct Known Subclasses:
SuperBigDecimalField,SuperDoubleField
public abstract class AbstractSuperFloatingPointField<T extends Number,SELF extends AbstractSuperFloatingPointField<T,SELF>>
extends AbstractSuperNumberField<T,SELF>
Base class for implementations of
AbstractSuperNumberField that allow modifications to minimum and maximum number of fraction digits.
Those methods by default are hidden from public access.- Since:
- 2020-04-08
- Author:
- miki
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.vaadin.flow.component.AbstractField
com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<C extends com.vaadin.flow.component.Component,V extends Object> Nested classes/interfaces inherited from interface com.vaadin.flow.component.BlurNotifier
com.vaadin.flow.component.BlurNotifier.BlurEvent<C extends com.vaadin.flow.component.Component>Nested classes/interfaces inherited from interface com.vaadin.flow.component.FocusNotifier
com.vaadin.flow.component.FocusNotifier.FocusEvent<C extends com.vaadin.flow.component.Component>Nested classes/interfaces inherited from interface com.vaadin.flow.component.HasValue
com.vaadin.flow.component.HasValue.ValueChangeEvent<V extends Object>, com.vaadin.flow.component.HasValue.ValueChangeListener<E extends com.vaadin.flow.component.HasValue.ValueChangeEvent<?>> -
Field Summary
Fields inherited from interface org.vaadin.miki.markers.HasHelperPositionable
HELPER_ABOVE_THEME_VARIANTFields inherited from interface org.vaadin.miki.markers.HasLabelPositionable
LABEL_POSITION_ATTRIBUTE, LABEL_POSITION_DETAILS_ATTRIBUTEFields inherited from interface com.vaadin.flow.data.value.HasValueChangeMode
DEFAULT_CHANGE_TIMEOUT -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractSuperFloatingPointField(T defaultValue, com.vaadin.flow.function.SerializablePredicate<T> negativityPredicate, com.vaadin.flow.function.SerializableFunction<T, T> turnToPositiveOperator, String label, Locale locale, int maxFractionDigits) Creates the field. -
Method Summary
Modifier and TypeMethodDescriptionReturns the currently accepted alternatives to the decimal separator.booleanChecks whether the integer part of a floating-point number is optional.voidsetDecimalSeparatorAlternatives(Set<Character> alternatives) Sets decimal separator alternatives, replacing previously existing ones.voidsetIntegerPartOptional(boolean required) Sets whether the integer part of a floating-point number is optional.voidsetMaximumFractionDigits(int digits) Sets the maximum number of fraction digits displayed and allowed.voidsetMinimumFractionDigits(int digits) Sets the minimum number of fraction digits displayed.final SELFChainssetIntegerPartOptional(boolean)withtrueas parameter and returns itself.final SELFwithIntegerPartOptional(boolean optional) ChainssetIntegerPartOptional(boolean)and returns itself.final SELFChainssetIntegerPartOptional(boolean)withfalseas parameter and returns itself.final SELFwithMaximumFractionDigits(int digits) ChainssetMaximumFractionDigits(int)and returns itself.final SELFwithMinimumFractionDigits(int digits) ChainssetMinimumFractionDigits(int)and returns itself.Methods inherited from class org.vaadin.miki.superfields.numbers.AbstractSuperNumberField
addTextSelectionListener, addThemeVariants, blur, buildAllowedCharPattern, buildRegularExpression, focus, generateModelValue, getErrorMessage, getGroupingSeparatorAlternatives, getHelperComponent, getHelperText, getKeyboardDisallowedAlternatives, getLabel, getLabelPosition, getLocale, getNegativeSignAlternatives, getPlaceholder, getPrefixComponent, getRawValue, getRegexp, getSuffixComponent, getTextInputMode, getTooltip, getValueChangeMode, getValueChangeTimeout, isAutoselect, isClearButtonVisible, isFocused, isGroupingSeparatorHiddenOnFocus, isHelperAbove, isInvalid, isNegativeValueAllowed, isNullValueAllowed, isOverlappingAlternatives, isReadOnly, isReceivingSelectionEventsFromClient, isRequired, isRequiredIndicatorVisible, parseRawValue, removeThemeVariants, select, selectAll, selectNone, setAutoselect, setClearButtonVisible, setDecimalFormat, setErrorMessage, setGroupingSeparatorAlternatives, setGroupingSeparatorHiddenOnFocus, setHelperAbove, setHelperAbove, setHelperBelow, setHelperComponent, setHelperText, setId, setInvalid, setKeyboardDisallowedAlternatives, setLabel, setLabelPosition, setLocale, setMaximumIntegerDigits, setNegativeSignAlternatives, setNegativeValueAllowed, setNullValueAllowed, setOverlappingAlternatives, setPlaceholder, setPrefixComponent, setPresentationValue, setReadOnly, setReceivingSelectionEventsFromClient, setRequired, setRequiredIndicatorVisible, setSuffixComponent, setTextInputMode, setTooltipText, setValueChangeMode, setValueChangeTimeout, updateFieldValue, updateRegularExpression, updateRegularExpression, updateTextInputMode, withAutoselect, withDecimalSeparatorAlternatives, withDecimalSeparatorAlternatives, withGroupingSeparatorAlternatives, withGroupingSeparatorAlternatives, withGroupingSeparatorHiddenOnFocus, withKeyboardDisallowedAlternatives, withKeyboardDisallowedAlternatives, withMaximumIntegerDigits, withNegativeSignAlternatives, withNegativeSignAlternatives, withNegativeValueAllowed, withoutOverlappingAlternatives, withOverlappingAlternatives, withOverlappingAlternatives, withReceivingSelectionEventsFromClientMethods inherited from class com.vaadin.flow.component.customfield.CustomField
add, addThemeVariants, onAttach, remove, removeThemeVariants, updateValueMethods inherited from class com.vaadin.flow.component.AbstractField
addValueChangeListener, getEmptyValue, getValue, isEmpty, setModelValue, setValue, valueEqualsMethods inherited from class com.vaadin.flow.component.Component
addListener, findAncestor, fireEvent, from, get, getChildren, getElement, getEventBus, getId, getListeners, getParent, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getUI, hasListener, isAttached, isTemplateMapped, isVisible, onDetach, onEnabledStateChanged, removeFromParent, scrollIntoView, scrollIntoView, set, setElement, setVisibleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.vaadin.flow.component.AttachNotifier
addAttachListenerMethods inherited from interface com.vaadin.flow.component.BlurNotifier
addBlurListenerMethods inherited from interface com.vaadin.flow.component.DetachNotifier
addDetachListenerMethods inherited from interface com.vaadin.flow.component.Focusable
addFocusShortcut, getTabIndex, setTabIndexMethods inherited from interface com.vaadin.flow.component.FocusNotifier
addFocusListenerMethods inherited from interface com.vaadin.flow.component.HasElement
getElementMethods inherited from interface com.vaadin.flow.component.HasEnabled
isEnabled, setEnabledMethods inherited from interface com.vaadin.flow.component.HasSize
getHeight, getHeightUnit, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getWidth, getWidthUnit, setHeight, setHeight, setHeightFull, setMaxHeight, setMaxHeight, setMaxWidth, setMaxWidth, setMinHeight, setMinHeight, setMinWidth, setMinWidth, setSizeFull, setSizeUndefined, setWidth, setWidth, setWidthFullMethods inherited from interface com.vaadin.flow.component.HasStyle
addClassName, addClassNames, getClassName, getClassNames, getStyle, hasClassName, removeClassName, removeClassNames, setClassName, setClassNameMethods inherited from interface com.vaadin.flow.component.HasTheme
addThemeName, addThemeNames, getThemeName, getThemeNames, hasThemeName, removeThemeName, removeThemeNames, setThemeName, setThemeNameMethods inherited from interface com.vaadin.flow.component.HasValue
addValueChangeListener, clear, getEmptyValue, getOptionalValue, getValue, isEmpty, setValueMethods inherited from interface org.vaadin.miki.markers.WithClearButtonMixin
withClearButtonVisibleMethods inherited from interface org.vaadin.miki.markers.WithHelperMixin
withHelperComponent, withHelperTextMethods inherited from interface org.vaadin.miki.markers.WithHelperPositionableMixin
withHelperAbove, withHelperAbove, withHelperBelowMethods inherited from interface org.vaadin.miki.markers.WithIdMixin
withIdMethods inherited from interface org.vaadin.miki.markers.WithLabelMixin
withLabelMethods inherited from interface org.vaadin.miki.markers.WithLabelPositionableMixin
withLabelPositionMethods inherited from interface org.vaadin.miki.markers.WithLocaleMixin
withLocaleMethods inherited from interface org.vaadin.miki.markers.WithNullValueOptionallyAllowedMixin
withNullValueAllowedMethods inherited from interface org.vaadin.miki.markers.WithPlaceholderMixin
withPlaceholderMethods inherited from interface org.vaadin.miki.markers.WithRequiredMixin
withoutRequired, withRequired, withRequiredMethods inherited from interface org.vaadin.miki.markers.WithTextInputModeMixin
withTextInputModeMethods inherited from interface org.vaadin.miki.markers.WithTooltipMixin
withTooltipTextMethods inherited from interface org.vaadin.miki.markers.WithValueMixin
withValue
-
Constructor Details
-
AbstractSuperFloatingPointField
protected AbstractSuperFloatingPointField(T defaultValue, com.vaadin.flow.function.SerializablePredicate<T> negativityPredicate, com.vaadin.flow.function.SerializableFunction<T, T> turnToPositiveOperator, String label, Locale locale, int maxFractionDigits) Creates the field.- Parameters:
defaultValue- Default value to use on startup and when there are errors.negativityPredicate- Check for whether or not given value is negative.turnToPositiveOperator- Operation to turn number into a positive one.label- Label of the field.locale- Locale to use.maxFractionDigits- Max number of fraction digits. Overwrites the settings in format obtained based onlocale.
-
-
Method Details
-
setMinimumFractionDigits
public void setMinimumFractionDigits(int digits) Description copied from class:AbstractSuperNumberFieldSets the minimum number of fraction digits displayed. Overwrites the value in the underlyingDecimalFormat. Will be overwritten by calls toAbstractSuperNumberField.setDecimalFormat(DecimalFormat). Calls toAbstractSuperNumberField.setLocale(Locale)will preserve this value. Note: this is non-destructive, the underlying value of the field will not change (even though the representation will).- Overrides:
setMinimumFractionDigitsin classAbstractSuperNumberField<T extends Number,SELF extends AbstractSuperFloatingPointField<T, SELF>> - Parameters:
digits- Number of digits to use.
-
setMaximumFractionDigits
public void setMaximumFractionDigits(int digits) Description copied from class:AbstractSuperNumberFieldSets the maximum number of fraction digits displayed and allowed. Overwrites the value in the underlyingDecimalFormat. Will be overwritten by calls toAbstractSuperNumberField.setDecimalFormat(DecimalFormat). Calls toAbstractSuperNumberField.setLocale(Locale)will preserve this value. Note: this is non-destructive, the underlying value of the field will not change (even though the representation will).- Overrides:
setMaximumFractionDigitsin classAbstractSuperNumberField<T extends Number,SELF extends AbstractSuperFloatingPointField<T, SELF>> - Parameters:
digits- Number of digits to use.
-
withMinimumFractionDigits
ChainssetMinimumFractionDigits(int)and returns itself.- Parameters:
digits- Minimum number of digits to set.- Returns:
- This.
-
withMaximumFractionDigits
ChainssetMaximumFractionDigits(int)and returns itself.- Parameters:
digits- Maximum number of digits to set.- Returns:
- This.
-
setIntegerPartOptional
public void setIntegerPartOptional(boolean required) Description copied from class:AbstractSuperNumberFieldSets whether the integer part of a floating-point number is optional. If it is set as optional, numbers can be entered without the integer part, which will be defaulted to zero.- Overrides:
setIntegerPartOptionalin classAbstractSuperNumberField<T extends Number,SELF extends AbstractSuperFloatingPointField<T, SELF>> - Parameters:
required- Whether the integer part is optional.
-
isIntegerPartOptional
public boolean isIntegerPartOptional()Description copied from class:AbstractSuperNumberFieldChecks whether the integer part of a floating-point number is optional.- Overrides:
isIntegerPartOptionalin classAbstractSuperNumberField<T extends Number,SELF extends AbstractSuperFloatingPointField<T, SELF>> - Returns:
- Whether the integer part is optional (
falseby default - integer part is required).
-
withIntegerPartOptional
ChainssetIntegerPartOptional(boolean)and returns itself.- Parameters:
optional- Whether the required part is optional or not (default).- Returns:
- This.
-
withIntegerPartRequired
ChainssetIntegerPartOptional(boolean)withfalseas parameter and returns itself.- Returns:
- This.
-
withIntegerPartOptional
ChainssetIntegerPartOptional(boolean)withtrueas parameter and returns itself.- Returns:
- This.
-
getDecimalSeparatorAlternatives
Description copied from class:AbstractSuperNumberFieldReturns the currently accepted alternatives to the decimal separator.- Overrides:
getDecimalSeparatorAlternativesin classAbstractSuperNumberField<T extends Number,SELF extends AbstractSuperFloatingPointField<T, SELF>> - Returns:
- Currently allowed alternatives to the main decimal separator, which is not included in the result. Never
null, but possibly empty.
-
setDecimalSeparatorAlternatives
Description copied from class:AbstractSuperNumberFieldSets decimal separator alternatives, replacing previously existing ones.- Overrides:
setDecimalSeparatorAlternativesin classAbstractSuperNumberField<T extends Number,SELF extends AbstractSuperFloatingPointField<T, SELF>> - Parameters:
alternatives- Any alternatives that are identical to the already used separators or negative sign or their alternatives are ignored.
-