Class AbstractTextField
- java.lang.Object
-
- com.vaadin.server.AbstractClientConnector
-
- com.vaadin.ui.AbstractComponent
-
- com.vaadin.ui.AbstractField<String>
-
- com.vaadin.ui.AbstractTextField
-
- All Implemented Interfaces:
HasValue<String>
,ContextClickEvent.ContextClickNotifier
,FieldEvents.BlurNotifier
,FieldEvents.FocusNotifier
,MethodEventSource
,ClientConnector
,Sizeable
,Connector
,Component
,Component.Focusable
,HasValueChangeMode
,Serializable
public abstract class AbstractTextField extends AbstractField<String> implements HasValueChangeMode, FieldEvents.FocusNotifier, FieldEvents.BlurNotifier
Abstract base class for text input components.- Since:
- 8.0
- Author:
- Vaadin Ltd.
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.vaadin.server.ClientConnector
ClientConnector.AttachEvent, ClientConnector.AttachListener, ClientConnector.ConnectorErrorEvent, ClientConnector.DetachEvent, ClientConnector.DetachListener
-
Nested classes/interfaces inherited from interface com.vaadin.ui.Component
Component.ErrorEvent, Component.Event, Component.Focusable, Component.Listener
-
Nested classes/interfaces inherited from interface com.vaadin.data.HasValue
HasValue.ValueChangeEvent<V>, HasValue.ValueChangeListener<V>
-
Nested classes/interfaces inherited from interface com.vaadin.server.Sizeable
Sizeable.Unit
-
-
Field Summary
-
Fields inherited from class com.vaadin.ui.AbstractComponent
DESIGN_ATTR_PLAIN_TEXT
-
Fields inherited from interface com.vaadin.server.Sizeable
SIZE_UNDEFINED, UNITS_CM, UNITS_EM, UNITS_EX, UNITS_INCH, UNITS_MM, UNITS_PERCENTAGE, UNITS_PICAS, UNITS_PIXELS, UNITS_POINTS
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractTextField()
Creates a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Registration
addBlurListener(FieldEvents.BlurListener listener)
Adds aFieldEvents.BlurListener
to this component, which gets fired when this component loses keyboard focus.Registration
addFocusListener(FieldEvents.FocusListener listener)
Adds aFieldEvents.FocusListener
to this component, which gets fired when this component receives keyboard focus.protected void
doSetValue(String value)
Sets the value of this field.int
getCursorPosition()
Returns the last known cursor position of the field.protected Collection<String>
getCustomAttributes()
Returns a collection of attributes that should not be handled by the basic implementation of theAbstractComponent.readDesign(Element, DesignContext)
andAbstractComponent.writeDesign(Element, DesignContext)
methods.String
getEmptyValue()
Returns the value that represents an empty value.int
getMaxLength()
Returns the maximum number of characters in the field.String
getPlaceholder()
Returns the current placeholder text.protected AbstractTextFieldState
getState()
Returns the shared state bean with information to be sent from the server to the client.protected AbstractTextFieldState
getState(boolean markAsDirty)
Returns the shared state for this connector.String
getValue()
Returns the current value of this object.ValueChangeMode
getValueChangeMode()
Returns the currently setValueChangeMode
.int
getValueChangeTimeout()
Returns the currently set timeout, in milliseconds, for how oftenHasValue.ValueChangeEvent
s are triggered if the currentValueChangeMode
is set to eitherValueChangeMode.LAZY
orValueChangeMode.TIMEOUT
.void
readDesign(org.jsoup.nodes.Element design, DesignContext designContext)
Reads the component state from the given design.void
selectAll()
Selects all text in the field.void
setCursorPosition(int pos)
Sets the cursor position in the field.void
setMaxLength(int maxLength)
Sets the maximum number of characters in the field.void
setPlaceholder(String placeholder)
Sets the placeholder text.void
setSelection(int start, int length)
Sets the range of text to be selected.void
setValue(String value)
Sets the value of this text field.void
setValueChangeMode(ValueChangeMode mode)
Sets the mode how the TextField triggersHasValue.ValueChangeEvent
s.void
setValueChangeTimeout(int timeout)
Sets how oftenHasValue.ValueChangeEvent
s are triggered when theValueChangeMode
is set to eitherValueChangeMode.LAZY
orValueChangeMode.TIMEOUT
.void
writeDesign(org.jsoup.nodes.Element design, DesignContext designContext)
Writes the component state to the given design.-
Methods inherited from class com.vaadin.ui.AbstractField
addValueChangeListener, createValueChange, focus, getTabIndex, isDifferentValue, isReadOnly, isRequiredIndicatorVisible, setReadOnly, setRequiredIndicatorVisible, setTabIndex, setValue
-
Methods inherited from class com.vaadin.ui.AbstractComponent
addContextClickListener, addListener, addShortcutListener, addStyleName, attach, beforeClientResponse, detach, findAncestor, fireComponentErrorEvent, fireComponentEvent, getActionManager, getCaption, getComponentError, getData, getDebugId, getDescription, getErrorMessage, getHeight, getHeightUnits, getIcon, getId, getLocale, getParent, getPrimaryStyleName, getStyleName, getWidth, getWidthUnits, isCaptionAsHtml, isConnectorEnabled, isEnabled, isOrHasAncestor, isResponsive, isVisible, removeContextClickListener, removeListener, removeShortcutListener, removeStyleName, setCaption, setCaptionAsHtml, setComponentError, setData, setDebugId, setDescription, setDescription, setEnabled, setHeight, setHeight, setHeightFull, setHeightUndefined, setIcon, setId, setLocale, setParent, setPrimaryStyleName, setResponsive, setSizeFull, setSizeUndefined, setStyleName, setVisible, setWidth, setWidth, setWidthFull, setWidthUndefined
-
Methods inherited from class com.vaadin.server.AbstractClientConnector
addAttachListener, addDetachListener, addExtension, addListener, addListener, addListener, addListener, addListener, addListener, addMethodInvocationToQueue, createState, encodeState, equals, fireEvent, getAllChildrenIterable, getConnectorId, getErrorHandler, getExtensions, getListeners, getResource, getRpcManager, getRpcProxy, getSession, getStateType, getUI, handleConnectorRequest, hashCode, hasListeners, isAttached, isThis, markAsDirty, markAsDirtyRecursive, registerRpc, registerRpc, removeAttachListener, removeDetachListener, removeExtension, removeListener, removeListener, removeListener, removeListener, removeListener, requestRepaint, requestRepaintAll, retrievePendingRpcCalls, setErrorHandler, setResource, updateDiffstate
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.vaadin.server.ClientConnector
addAttachListener, addDetachListener, beforeClientResponse, detach, encodeState, getErrorHandler, getExtensions, getRpcManager, getStateType, handleConnectorRequest, isAttached, isConnectorEnabled, markAsDirty, markAsDirtyRecursive, removeAttachListener, removeDetachListener, removeExtension, requestRepaint, requestRepaintAll, retrievePendingRpcCalls, setErrorHandler
-
Methods inherited from interface com.vaadin.ui.Component
addListener, addStyleName, addStyleNames, attach, getCaption, getDescription, getIcon, getId, getLocale, getParent, getPrimaryStyleName, getStyleName, getUI, isEnabled, isVisible, removeListener, removeStyleName, removeStyleNames, setCaption, setEnabled, setIcon, setId, setParent, setPrimaryStyleName, setStyleName, setStyleName, setVisible
-
Methods inherited from interface com.vaadin.shared.Connector
getConnectorId
-
Methods inherited from interface com.vaadin.data.HasValue
clear, getDefaultValidator, getOptionalValue, isEmpty
-
Methods inherited from interface com.vaadin.server.Sizeable
getHeight, getHeightUnits, getWidth, getWidthUnits, setHeight, setHeight, setHeightFull, setHeightUndefined, setSizeFull, setSizeUndefined, setWidth, setWidth, setWidthFull, setWidthUndefined
-
-
-
-
Method Detail
-
setValue
public void setValue(String value)
Sets the value of this text field. If the new value is not equal togetValue()
, fires aHasValue.ValueChangeEvent
. ThrowsNullPointerException
if the value is null.- Specified by:
setValue
in interfaceHasValue<String>
- Overrides:
setValue
in classAbstractField<String>
- Parameters:
value
- the new value, notnull
- Throws:
NullPointerException
- ifvalue
isnull
-
getMaxLength
public int getMaxLength()
Returns the maximum number of characters in the field. Value -1 is considered unlimited. Terminal may however have some technical limits.- Returns:
- the maxLength
-
setMaxLength
public void setMaxLength(int maxLength)
Sets the maximum number of characters in the field. Value -1 is considered unlimited. Terminal may however have some technical limits.- Parameters:
maxLength
- the maxLength to set
-
getPlaceholder
public String getPlaceholder()
Returns the current placeholder text.- Returns:
- the placeholder text
- See Also:
setPlaceholder(String)
-
setPlaceholder
public void setPlaceholder(String placeholder)
Sets the placeholder text. The placeholder is text that is displayed when the field would otherwise be empty, to prompt the user for input.- Parameters:
placeholder
- the placeholder text to set- Since:
- 8.0
-
getValue
public String getValue()
Description copied from interface:HasValue
Returns the current value of this object.Implementation note: the implementing class should document whether null values may be returned or not.
-
selectAll
public void selectAll()
Selects all text in the field.As a side effect the field will become focused.
-
setSelection
public void setSelection(int start, int length)
Sets the range of text to be selected.As a side effect the field will become focused.
- Parameters:
start
- the position of the first character to be selectedlength
- the number of characters to be selected
-
setCursorPosition
public void setCursorPosition(int pos)
Sets the cursor position in the field. As a side effect the field will become focused.- Parameters:
pos
- the position for the cursor
-
getCursorPosition
public int getCursorPosition()
Returns the last known cursor position of the field.- Returns:
- the last known cursor position
-
addFocusListener
public Registration addFocusListener(FieldEvents.FocusListener listener)
Adds aFieldEvents.FocusListener
to this component, which gets fired when this component receives keyboard focus.- Specified by:
addFocusListener
in interfaceFieldEvents.FocusNotifier
- Parameters:
listener
- the focus listener- Returns:
- a registration for the listener
- See Also:
Registration
-
addBlurListener
public Registration addBlurListener(FieldEvents.BlurListener listener)
Adds aFieldEvents.BlurListener
to this component, which gets fired when this component loses keyboard focus.- Specified by:
addBlurListener
in interfaceFieldEvents.BlurNotifier
- Parameters:
listener
- the blur listener- Returns:
- a registration for the listener
- See Also:
Registration
-
setValueChangeMode
public void setValueChangeMode(ValueChangeMode mode)
Description copied from interface:HasValueChangeMode
Sets the mode how the TextField triggersHasValue.ValueChangeEvent
s.- Specified by:
setValueChangeMode
in interfaceHasValueChangeMode
- Parameters:
mode
- the new mode- See Also:
ValueChangeMode
-
getValueChangeMode
public ValueChangeMode getValueChangeMode()
Description copied from interface:HasValueChangeMode
Returns the currently setValueChangeMode
.- Specified by:
getValueChangeMode
in interfaceHasValueChangeMode
- Returns:
- the mode used to trigger
HasValue.ValueChangeEvent
s. - See Also:
ValueChangeMode
-
setValueChangeTimeout
public void setValueChangeTimeout(int timeout)
Description copied from interface:HasValueChangeMode
Sets how oftenHasValue.ValueChangeEvent
s are triggered when theValueChangeMode
is set to eitherValueChangeMode.LAZY
orValueChangeMode.TIMEOUT
.- Specified by:
setValueChangeTimeout
in interfaceHasValueChangeMode
- Parameters:
timeout
- timeout in milliseconds, must be greater or equal to 0- See Also:
ValueChangeMode
-
getValueChangeTimeout
public int getValueChangeTimeout()
Description copied from interface:HasValueChangeMode
Returns the currently set timeout, in milliseconds, for how oftenHasValue.ValueChangeEvent
s are triggered if the currentValueChangeMode
is set to eitherValueChangeMode.LAZY
orValueChangeMode.TIMEOUT
.- Specified by:
getValueChangeTimeout
in interfaceHasValueChangeMode
- Returns:
- the timeout in milliseconds of how often
HasValue.ValueChangeEvent
s are triggered.
-
readDesign
public void readDesign(org.jsoup.nodes.Element design, DesignContext designContext)
Description copied from interface:Component
Reads the component state from the given design.The component is responsible not only for updating its own state but also for ensuring that its children update their state based on the design.
It is assumed that the component is in its default state when this method is called. Reading should only take into consideration attributes specified in the design and not reset any unspecified attributes to their defaults.
This method must not modify the design.
- Specified by:
readDesign
in interfaceComponent
- Overrides:
readDesign
in classAbstractField<String>
- Parameters:
design
- The element to obtain the state fromdesignContext
- The DesignContext instance used for parsing the design
-
getState
protected AbstractTextFieldState getState()
Description copied from class:AbstractComponent
Returns the shared state bean with information to be sent from the server to the client. Subclasses should override this method and set any relevant fields of the state returned by super.getState().- Overrides:
getState
in classAbstractField<String>
- Returns:
- updated component shared state
-
getState
protected AbstractTextFieldState getState(boolean markAsDirty)
Description copied from class:AbstractClientConnector
Returns the shared state for this connector.- Overrides:
getState
in classAbstractField<String>
- Parameters:
markAsDirty
- true if the connector should automatically be marked dirty, false otherwise- Returns:
- The shared state for this connector. Never null.
- See Also:
AbstractClientConnector.getState()
-
doSetValue
protected void doSetValue(String value)
Description copied from class:AbstractField
Sets the value of this field. May do sanitization or throwIllegalArgumentException
if the value is invalid. Typically saves the value to shared state.- Specified by:
doSetValue
in classAbstractField<String>
- Parameters:
value
- the new value of the field
-
writeDesign
public void writeDesign(org.jsoup.nodes.Element design, DesignContext designContext)
Description copied from interface:Component
Writes the component state to the given design.The component is responsible not only for writing its own state but also for ensuring that its children write their state to the design.
This method must not modify the component state.
- Specified by:
writeDesign
in interfaceComponent
- Overrides:
writeDesign
in classAbstractField<String>
- Parameters:
design
- The element to write the component state to. Any previous attributes or child nodes are not cleared.designContext
- The DesignContext instance used for writing the design
-
getCustomAttributes
protected Collection<String> getCustomAttributes()
Description copied from class:AbstractComponent
Returns a collection of attributes that should not be handled by the basic implementation of theAbstractComponent.readDesign(Element, DesignContext)
andAbstractComponent.writeDesign(Element, DesignContext)
methods. Typically these are handled in a custom way in the overridden versions of the above methods- Overrides:
getCustomAttributes
in classAbstractField<String>
- Returns:
- the collection of attributes that are not handled by the basic implementation
-
getEmptyValue
public String getEmptyValue()
Description copied from interface:HasValue
Returns the value that represents an empty value.By default
HasValue
is expected to supportnull
as empty values. Specific implementations might not support this.- Specified by:
getEmptyValue
in interfaceHasValue<String>
- Returns:
- empty value
- See Also:
Binder#bind(HasValue, ValueProvider, Setter)
-
-