Interface HasValue<V>
-
- Type Parameters:
V- the value type
- All Superinterfaces:
Serializable
- All Known Subinterfaces:
MultiSelect<T>,SingleSelect<V>
- All Known Implementing Classes:
AbstractColorPicker,AbstractDateField,AbstractField,AbstractLocalDateField,AbstractLocalDateTimeField,AbstractMultiSelect,AbstractSingleSelect,AbstractTextField,CheckBox,CheckBoxGroup,ColorPicker,ColorPickerArea,ColorPickerGradient,ColorPickerGrid,ColorPickerHistory,ColorPickerPopup,ColorPickerPreview,ColorPickerSelect,ComboBox,CustomField,DateField,DateTimeField,GridMultiSelect,GridSingleSelect,InlineDateField,InlineDateTimeField,ListSelect,NativeSelect,PasswordField,RadioButtonGroup,ReadOnlyHasValue,RichTextArea,Slider,TextArea,TextField,TwinColSelect
public interface HasValue<V> extends Serializable
A generic interface for field components and other user interface objects that have a user-editable value. Emits change events whenever the value is changed, either by the user or programmatically.- Since:
- 8.0
- Author:
- Vaadin Ltd.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classHasValue.ValueChangeEvent<V>An event fired when the value of aHasValuechanges.static interfaceHasValue.ValueChangeListener<V>A listener for value change events.
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description RegistrationaddValueChangeListener(HasValue.ValueChangeListener<V> listener)Adds a value change listener.default voidclear()Resets the value to the empty one.default Validator<V>getDefaultValidator()Returns a validator that checks the internal state of the HasValue.default VgetEmptyValue()Returns the value that represents an empty value.default Optional<V>getOptionalValue()Returns the current value of this object, wrapped in anOptional.VgetValue()Returns the current value of this object.default booleanisEmpty()Returns whether thisHasValueis considered to be empty.booleanisReadOnly()Returns whether thisHasValueis in read-only mode or not.booleanisRequiredIndicatorVisible()Checks whether the required indicator is visible.voidsetReadOnly(boolean readOnly)Sets the read-only mode of thisHasValueto given mode.voidsetRequiredIndicatorVisible(boolean requiredIndicatorVisible)Sets the required indicator visible or not.voidsetValue(V value)Sets the value of this object.
-
-
-
Method Detail
-
setValue
void setValue(V value)
Sets the value of this object. If the new value is not equal togetValue(), fires a value change event. May throwIllegalArgumentExceptionif the value is not acceptable.Implementation note: the implementing class should document whether null values are accepted or not.
- Parameters:
value- the new value- Throws:
IllegalArgumentException- if the value is invalid
-
getValue
V getValue()
Returns the current value of this object.Implementation note: the implementing class should document whether null values may be returned or not.
- Returns:
- the current value
-
addValueChangeListener
Registration addValueChangeListener(HasValue.ValueChangeListener<V> listener)
Adds a value change listener. The listener is called when the value of thisHasValueis changed either by the user or programmatically.- Parameters:
listener- the value change listener, not null- Returns:
- a registration for the listener
-
getEmptyValue
default V getEmptyValue()
Returns the value that represents an empty value.By default
HasValueis expected to supportnullas empty values. Specific implementations might not support this.- Returns:
- empty value
- See Also:
Binder#bind(HasValue, ValueProvider, Setter)
-
getOptionalValue
default Optional<V> getOptionalValue()
Returns the current value of this object, wrapped in anOptional.The
Optionalwill be empty if the value isnullorisEmpty()returnstrue.- Returns:
- the current value, wrapped in an
Optional
-
isEmpty
default boolean isEmpty()
Returns whether thisHasValueis considered to be empty.By default this is an equality check between current value and empty value.
- Returns:
trueif considered empty;falseif not
-
setRequiredIndicatorVisible
void setRequiredIndicatorVisible(boolean requiredIndicatorVisible)
Sets the required indicator visible or not.If set visible, it is visually indicated in the user interface.
- Parameters:
requiredIndicatorVisible-trueto make the required indicator visible,falseif not
-
isRequiredIndicatorVisible
boolean isRequiredIndicatorVisible()
Checks whether the required indicator is visible.- Returns:
trueif visible,falseif not
-
setReadOnly
void setReadOnly(boolean readOnly)
Sets the read-only mode of thisHasValueto given mode. The user can't change the value when in read-only mode.A
HasValuewith a visual component in read-only mode typically looks visually different to signal to the user that the value cannot be edited.- Parameters:
readOnly- a boolean value specifying whether the component is put read-only mode or not
-
isReadOnly
boolean isReadOnly()
Returns whether thisHasValueis in read-only mode or not.- Returns:
falseif the user can modify the value,trueif not.
-
clear
default void clear()
Resets the value to the empty one.This is just a shorthand for resetting the value, see the methods
setValue(Object)andgetEmptyValue().- See Also:
setValue(Object),getEmptyValue()
-
getDefaultValidator
default Validator<V> getDefaultValidator()
Returns a validator that checks the internal state of the HasValue. This should be overridden for components with internal value conversion or validation, e.g. when the user is providing a string that has to be parsed into a date. An invalid input from user will be exposed to aBinderand can be seen as a validation failure.- Returns:
- internal state validator
- Since:
- 8.1
- See Also:
Binder.validate()
-
-