public abstract class AbstractField<T> extends AbstractComponent implements Field<T>, Property.ReadOnlyStatusChangeListener, Property.ReadOnlyStatusChangeNotifier, Action.ShortcutNotifier
Abstract field component for implementing buffered property editors. The
field may hold an internal value, or it may be connected to any data source
that implements the Propertyinterface. AbstractField
implements that interface itself, too, so accessing the Property value
represented by it is straightforward.
AbstractField also provides the Buffered interface for buffering the
data source value. By default the Field is in write through-mode and
#setWriteThrough(boolean)should be called to enable buffering.
The class also supports validators to make sure the value
contained in the field is valid.
| Modifier and Type | Class and Description |
|---|---|
static class |
AbstractField.FocusShortcut
A ready-made
ShortcutListener that focuses the given
Focusable (usually a Field) when the keyboard shortcut is
invoked. |
static class |
AbstractField.ReadOnlyStatusChangeEvent
An
Event object specifying the Property whose read-only
status has changed. |
Field.ValueChangeEventBuffered.SourceExceptionProperty.Editor, Property.ReadOnlyException, Property.ReadOnlyStatusChangeListener, Property.ReadOnlyStatusChangeNotifier, Property.Transactional<T>, Property.ValueChangeListener, Property.ValueChangeNotifier, Property.ViewerComponent.ErrorEvent, Component.Event, Component.Focusable, Component.ListenerClientConnector.AttachEvent, ClientConnector.AttachListener, ClientConnector.ConnectorErrorEvent, ClientConnector.DetachEvent, ClientConnector.DetachListenerSizeable.UnitDESIGN_ATTR_PLAIN_TEXTSIZE_UNDEFINED, UNITS_CM, UNITS_EM, UNITS_EX, UNITS_INCH, UNITS_MM, UNITS_PERCENTAGE, UNITS_PICAS, UNITS_PIXELS, UNITS_POINTS| Constructor and Description |
|---|
AbstractField() |
| Modifier and Type | Method and Description |
|---|---|
void |
addListener(Property.ReadOnlyStatusChangeListener listener)
Deprecated.
As of 7.0, replaced by
addReadOnlyStatusChangeListener(Property.ReadOnlyStatusChangeListener) |
void |
addListener(Property.ValueChangeListener listener)
Deprecated.
As of 7.0, replaced by
addValueChangeListener(Property.ValueChangeListener) |
void |
addReadOnlyStatusChangeListener(Property.ReadOnlyStatusChangeListener listener)
Registers a new read-only status change listener for this Property.
|
void |
addValidator(Validator validator)
Adds a new validator for the field's value.
|
void |
addValueChangeListener(Property.ValueChangeListener listener)
Registers a new value change listener for this Property.
|
void |
attach()
Notifies the component that it is connected to an application.
|
void |
beforeClientResponse(boolean initial)
Called before the shared state and RPC invocations are sent to the
client.
|
void |
clear()
Clears the value of the field.
|
void |
commit()
Updates all changes since the previous commit to the data source.
|
void |
detach()
Notifies the connector that it is detached from its VaadinSession.
|
void |
discard()
Discards all changes since last commit.
|
protected void |
fireReadOnlyStatusChange()
Emits the read-only status change event.
|
protected void |
fireValueChange(boolean repaintIsNotNeeded)
Emits the value change event.
|
void |
focus()
Sets the focus for this component if the component is
Focusable. |
String |
getConversionError()
Gets the error that is shown if the field value cannot be converted to
the data source type.
|
protected String |
getConversionError(Class<?> dataSourceType,
Converter.ConversionException e)
Returns the conversion error with {0} replaced by the data source type
and {1} replaced by the exception (localized) message.
|
Object |
getConvertedValue()
Returns the current value (as returned by
getValue()) converted
to the data source type. |
Converter<T,Object> |
getConverter()
Gets the converter used to convert the property data source value to the
field value.
|
protected Buffered.SourceException |
getCurrentBufferedSourceException()
Gets the current buffered source exception.
|
protected Collection<String> |
getCustomAttributes()
Returns a collection of attributes that should not be handled by the
basic implementation of the
readDesign and writeDesign
methods. |
ErrorMessage |
getErrorMessage()
Error messages shown by the fields are composites of the error message
thrown by the superclasses (that is the component error message),
validation errors and buffered source errors.
|
protected T |
getInternalValue()
Returns the internal field value, which might not match the data source
value e.g.
|
protected Class<?> |
getModelType()
Retrieves the type of the currently used data model.
|
Property |
getPropertyDataSource()
Gets the current data source of the field, if any.
|
String |
getRequiredError()
Gets the error message that is to be displayed if a required field is
empty.
|
protected AbstractFieldState |
getState()
Returns the shared state bean with information to be sent from the server
to the client.
|
protected AbstractFieldState |
getState(boolean markAsDirty)
Returns the shared state for this connector.
|
int |
getTabIndex()
Gets the tabulator index of the
Focusable component. |
abstract Class<? extends T> |
getType()
Returns the type of the Field.
|
Collection<Validator> |
getValidators()
Gets the validators of the field.
|
T |
getValue()
Gets the current value of the field.
|
boolean |
isBuffered()
Checks the buffered mode of this Field.
|
boolean |
isEmpty()
Is the field empty?
In general, "empty" state is same as null.
|
boolean |
isImmediate()
Returns the immediate mode of the component.
|
boolean |
isInvalidAllowed()
Fields allow invalid values by default.
|
boolean |
isInvalidCommitted()
Tests if the invalid data is committed to datasource.
|
boolean |
isModified()
Tests if the value stored in the object has been modified since it was
last updated from the data source.
|
boolean |
isReadOnly()
The abstract field is read only also if the data source is in read only
mode.
|
boolean |
isRequired()
Is this field required.
|
boolean |
isValid()
Tests the current value against registered validators if the field is not
empty.
|
boolean |
isValidationVisible()
Is automatic, visible validation enabled?
If automatic validation is enabled, any validators connected to this
component are evaluated while painting the component and potential error
messages are sent to client.
|
void |
readDesign(org.jsoup.nodes.Element design,
DesignContext designContext)
Reads the component state from the given design.
|
void |
readOnlyStatusChange(Property.ReadOnlyStatusChangeEvent event)
React to read only status changes of the property by requesting a
repaint.
|
void |
removeAllValidators()
Removes all validators from the field.
|
void |
removeListener(Property.ReadOnlyStatusChangeListener listener)
Deprecated.
As of 7.0, replaced by
removeReadOnlyStatusChangeListener(Property.ReadOnlyStatusChangeListener) |
void |
removeListener(Property.ValueChangeListener listener)
Deprecated.
As of 7.0, replaced by
removeValueChangeListener(Property.ValueChangeListener) |
void |
removeReadOnlyStatusChangeListener(Property.ReadOnlyStatusChangeListener listener)
Removes a previously registered read-only status change listener.
|
void |
removeValidator(Validator validator)
Removes the validator from the field.
|
void |
removeValueChangeListener(Property.ValueChangeListener listener)
Removes a previously registered value change listener.
|
void |
setBuffered(boolean buffered)
Sets the buffered mode of this Field.
|
void |
setConversionError(String valueConversionError)
Sets the error that is shown if the field value cannot be converted to
the data source type.
|
void |
setConvertedValue(Object value)
Sets the value of the field using a value of the data source type.
|
void |
setConverter(Class<?> datamodelType)
Retrieves a converter for the field from the converter factory defined
for the application.
|
void |
setConverter(Converter<T,?> converter)
Sets the converter used to convert the field value to property data
source type.
|
void |
setCurrentBufferedSourceException(Buffered.SourceException currentBufferedSourceException)
Sets the current buffered source exception.
|
protected void |
setInternalValue(T newValue)
Sets the internal field value.
|
void |
setInvalidAllowed(boolean invalidAllowed)
Fields allow invalid values by default.
|
void |
setInvalidCommitted(boolean isCommitted)
Sets if the invalid data should be committed to datasource.
|
void |
setLocale(Locale locale)
Sets the locale of this component.
|
void |
setPropertyDataSource(Property newDataSource)
Sets the specified Property as the data source for the field.
|
void |
setReadOnly(boolean readOnly)
Changes the readonly state and throw read-only status change events.
|
void |
setRequired(boolean required)
Sets the field required.
|
void |
setRequiredError(String requiredMessage)
Set the error that is show if this field is required, but empty.
|
void |
setTabIndex(int tabIndex)
Sets the tabulator index of the
Focusable component. |
void |
setValidationVisible(boolean validateAutomatically)
Enable or disable automatic, visible validation.
|
void |
setValue(T newFieldValue)
Sets the value of the field.
|
protected void |
setValue(T newFieldValue,
boolean repaintIsNotNeeded)
Sets the value of the field.
|
protected void |
setValue(T newFieldValue,
boolean repaintIsNotNeeded,
boolean ignoreReadOnly)
Sets the value of the field.
|
protected boolean |
shouldHideErrors()
Returns true if the error indicator be hidden when painting the component
even when there are errors.
|
String |
toString()
Deprecated.
As of 7.0. Use
getValue() to get the value of the
field, getConvertedValue() to get the field value
converted to the data model type or
getPropertyDataSource() .getValue() to get the value
of the data source. |
void |
validate()
Checks the validity of the Field.
|
protected void |
validate(T fieldValue)
Validates that the given value pass the validators for the field.
|
void |
valueChange(Property.ValueChangeEvent event)
This method listens to data source value changes and passes the changes
forwards.
|
void |
writeDesign(org.jsoup.nodes.Element design,
DesignContext designContext)
Writes the component state to the given design.
|
addContextClickListener, addListener, addShortcutListener, addStyleName, findAncestor, fireComponentErrorEvent, fireComponentEvent, getActionManager, getCaption, getComponentError, getData, getDebugId, getDescription, getExplicitImmediateValue, 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, setEnabled, setHeight, setHeight, setHeightUndefined, setIcon, setId, setImmediate, setParent, setPrimaryStyleName, setResponsive, setSizeFull, setSizeUndefined, setStyleName, setStyleName, setVisible, setWidth, setWidth, setWidthUndefinedaddAttachListener, addDetachListener, addExtension, 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, requestRepaint, requestRepaintAll, retrievePendingRpcCalls, setErrorHandler, setResourceclone, finalize, getClass, notify, notifyAll, wait, wait, waitaddListener, addStyleName, getCaption, getDescription, getIcon, getId, getLocale, getParent, getPrimaryStyleName, getStyleName, getUI, isEnabled, isVisible, removeListener, removeStyleName, setCaption, setEnabled, setIcon, setId, setParent, setPrimaryStyleName, setStyleName, setVisibleaddAttachListener, addDetachListener, encodeState, getErrorHandler, getExtensions, getRpcManager, getStateType, handleConnectorRequest, isAttached, isConnectorEnabled, markAsDirty, markAsDirtyRecursive, removeAttachListener, removeDetachListener, removeExtension, requestRepaint, requestRepaintAll, retrievePendingRpcCalls, setErrorHandlergetConnectorIdgetHeight, getHeightUnits, getWidth, getWidthUnits, setHeight, setHeight, setHeightUndefined, setSizeFull, setSizeUndefined, setWidth, setWidth, setWidthUndefinedaddShortcutListener, removeShortcutListenerprotected boolean shouldHideErrors()
public abstract Class<? extends T> getType()
getValue and
setValue must be compatible with this type: one must be able
to safely cast the value returned from getValue to the given
type and pass any variable assignable to this type as an argument to
setValue.public boolean isReadOnly()
isReadOnly in interface Property<T>isReadOnly in interface ComponentisReadOnly in class AbstractComponenttrue if the component or any of its parents is in
read-only mode, false if not.Component.setReadOnly(boolean)public void setReadOnly(boolean readOnly)
setReadOnly in interface Property<T>setReadOnly in interface ComponentsetReadOnly in class AbstractComponentreadOnly - a boolean value specifying whether the component is put
read-only mode or notComponent.setReadOnly(boolean)public boolean isInvalidCommitted()
isInvalidCommitted in interface BufferedValidatableBufferedValidatable#isInvalidCommitted()public void setInvalidCommitted(boolean isCommitted)
setInvalidCommitted in interface BufferedValidatableBufferedValidatable#setInvalidCommitted(boolean)public void commit()
throws Buffered.SourceException,
Validator.InvalidValueException
Bufferedcommit is called.commit in interface BufferedBuffered.SourceException - if the operation fails because of an exception is thrown by
the data source. The cause is included in the exception.Validator.InvalidValueException - if the operation fails because validation is enabled and the
values do not validatepublic void discard()
throws Buffered.SourceException
Buffereddiscard in interface BufferedBuffered.SourceException - if the operation fails because of an exception is thrown by
the data source. The cause is included in the exception.public boolean isModified()
BufferedisModified in interface Bufferedtrue if the value in the object has been modified
since the last data source update, false if not.public void setBuffered(boolean buffered)
When the field is in buffered mode, changes will not be committed to the
property data source until commit() is called.
Setting buffered mode from true to false will commit any pending changes.
setBuffered in interface Bufferedbuffered - true if buffered mode should be turned on, false otherwisepublic boolean isBuffered()
isBuffered in interface Buffered@Deprecated public String toString()
getValue() to get the value of the
field, getConvertedValue() to get the field value
converted to the data model type or
getPropertyDataSource() .getValue() to get the value
of the data source.
If legacy Property toString mode is enabled, returns the value of this
Field converted to a String.
If legacy Property toString mode is disabled, the string representation has no special meaning
toString in class ObjectLegacyPropertyHelper.isLegacyToStringEnabled()public T getValue()
This is the visible, modified and possible invalid value the user have entered to the field.
Note that the object returned is compatible with getType(). For example,
if the type is String, this returns Strings even when the underlying
datasource is of some other type. In order to access the converted value,
use getConvertedValue() and to access the value of the property
data source, use Property.getValue() for the property data
source.
Since Vaadin 7.0, no implicit conversions between other data types and String are performed, but a converter is used if set.
public void setValue(T newFieldValue) throws Property.ReadOnlyException, Converter.ConversionException
setValue in interface Property<T>newFieldValue - the New value of the field.Property.ReadOnlyExceptionConverter.ConversionExceptionprotected void setValue(T newFieldValue, boolean repaintIsNotNeeded)
newFieldValue - the New value of the field.repaintIsNotNeeded - True iff caller is sure that repaint is not needed.Property.ReadOnlyExceptionConverter.ConversionExceptionValidator.InvalidValueExceptionprotected void setValue(T newFieldValue, boolean repaintIsNotNeeded, boolean ignoreReadOnly) throws Property.ReadOnlyException, Converter.ConversionException, Validator.InvalidValueException
newFieldValue - the New value of the field.repaintIsNotNeeded - True iff caller is sure that repaint is not needed.ignoreReadOnly - True iff if the read-only check should be ignoredProperty.ReadOnlyExceptionConverter.ConversionExceptionValidator.InvalidValueExceptionpublic Property getPropertyDataSource()
getPropertyDataSource in interface Property.Viewernull if
none defined.public void setPropertyDataSource(Property newDataSource)
Sets the specified Property as the data source for the field. All uncommitted changes are replaced with a value from the new data source.
If the datasource has any validators, the same validators are added to the field. Because the default behavior of the field is to allow invalid values, but not to allow committing them, this only adds visual error messages to fields and do not allow committing them as long as the value is invalid. After the value is valid, the error message is not shown and the commit can be done normally.
If the data source implements Property.ValueChangeNotifier and/or
Property.ReadOnlyStatusChangeNotifier, the field registers itself
as a listener and updates itself according to the events it receives. To
avoid memory leaks caused by references to a field no longer in use, the
listener registrations are removed on detach and re-added on attach.
Note: before 6.5 we actually called discard() method in the beginning of the method. This was removed to simplify implementation, avoid excess calls to backing property and to avoid odd value change events that were previously fired (developer expects 0-1 value change events if this method is called). Some complex field implementations might now need to override this method to do housekeeping similar to discard().
setPropertyDataSource in interface Property.ViewernewDataSource - the new data source Property.public void setConverter(Class<?> datamodelType)
datamodelType - The type of the data model that we want to be able to convert
fromprotected Class<?> getModelType()
protected String getConversionError(Class<?> dataSourceType, Converter.ConversionException e)
dataSourceType - the type of the data sourcee - a conversion exception which can provide additional
informationpublic Object getConvertedValue()
getValue()) converted
to the data source type.
This returns the same as getValue() if no converter
has been set. The value is not necessarily the same as the data source
value e.g. if the field is in buffered mode and has been modified.
public void setConvertedValue(Object value)
setValue(Object) is called.value - The value to set. Must be the same type as the data source.public void addValidator(Validator validator)
addValidator in interface Validatablevalidator - the new validator to be added.public Collection<Validator> getValidators()
getValidators in interface Validatablepublic void removeValidator(Validator validator)
removeValidator in interface Validatablevalidator - the validator to remove.public void removeAllValidators()
removeAllValidators in interface Validatablepublic boolean isValid()
validate() should be used instead of
isValid() to also get the error message.isValid in interface Validatabletrue if all registered validators claim that the
current value is valid or if the field is empty and not required,
false otherwise.public void validate()
throws Validator.InvalidValueException
setRequired(boolean) and is empty, if one or several of the
validators added to the field indicate it is invalid or if the value
cannot be converted provided a converter has been set.
The "required" validation is a built-in validation feature. If the field
is required and empty this method throws an EmptyValueException with the
error message set using setRequiredError(String).validate in interface ValidatableValidator.InvalidValueException - if the value is not validValidatable.validate()protected void validate(T fieldValue) throws Validator.InvalidValueException
This method does not check the requiredness of the field.
fieldValue - The value to checkValidator.InvalidValueException - if one or several validators failpublic boolean isInvalidAllowed()
isInvalidAllowed in interface ValidatableValidatable.isInvalidAllowed()public void setInvalidAllowed(boolean invalidAllowed)
throws UnsupportedOperationException
In common setting where the user wants to assure the correctness of the datasource, but allow temporarily invalid contents in the field, the user should add the validators to datasource, that should not allow invalid values. The validators are automatically copied to the field when the datasource is set.
setInvalidAllowed in interface ValidatableUnsupportedOperationException - if the setInvalidAllowed is not supported.Validatable.setInvalidAllowed(boolean)public ErrorMessage getErrorMessage()
getErrorMessage in class AbstractComponentAbstractComponent.getErrorMessage()public void addValueChangeListener(Property.ValueChangeListener listener)
Property.ValueChangeNotifieraddValueChangeListener in interface Property.ValueChangeNotifierlistener - the new Listener to be registered@Deprecated public void addListener(Property.ValueChangeListener listener)
addValueChangeListener(Property.ValueChangeListener)addListener in interface Property.ValueChangeNotifierpublic void removeValueChangeListener(Property.ValueChangeListener listener)
Property.ValueChangeNotifierremoveValueChangeListener in interface Property.ValueChangeNotifierlistener - listener to be removed@Deprecated public void removeListener(Property.ValueChangeListener listener)
removeValueChangeListener(Property.ValueChangeListener)removeListener in interface Property.ValueChangeNotifierprotected void fireValueChange(boolean repaintIsNotNeeded)
public void readOnlyStatusChange(Property.ReadOnlyStatusChangeEvent event)
readOnlyStatusChange in interface Property.ReadOnlyStatusChangeListenerevent - Read-only status change event objectProperty.ReadOnlyStatusChangeListenerpublic void addReadOnlyStatusChangeListener(Property.ReadOnlyStatusChangeListener listener)
Property.ReadOnlyStatusChangeNotifieraddReadOnlyStatusChangeListener in interface Property.ReadOnlyStatusChangeNotifierlistener - the new Listener to be registered@Deprecated public void addListener(Property.ReadOnlyStatusChangeListener listener)
addReadOnlyStatusChangeListener(Property.ReadOnlyStatusChangeListener)addListener in interface Property.ReadOnlyStatusChangeNotifierpublic void removeReadOnlyStatusChangeListener(Property.ReadOnlyStatusChangeListener listener)
Property.ReadOnlyStatusChangeNotifierremoveReadOnlyStatusChangeListener in interface Property.ReadOnlyStatusChangeNotifierlistener - listener to be removed@Deprecated public void removeListener(Property.ReadOnlyStatusChangeListener listener)
removeReadOnlyStatusChangeListener(Property.ReadOnlyStatusChangeListener)removeListener in interface Property.ReadOnlyStatusChangeNotifierprotected void fireReadOnlyStatusChange()
public void valueChange(Property.ValueChangeEvent event)
valueChange in interface Property.ValueChangeListenerevent - the value change event telling the data source contents have
changed.public void focus()
Focusable.focus in interface Component.Focusablefocus in class AbstractComponentFieldEvents,
FieldEvents.FocusEvent,
FieldEvents.FocusListener,
FieldEvents.BlurEvent,
FieldEvents.BlurListenerpublic int getTabIndex()
Component.FocusableFocusable component.getTabIndex in interface Component.FocusableFocusable componentComponent.Focusable.setTabIndex(int)public void setTabIndex(int tabIndex)
Component.FocusableFocusable 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.
Form loginBox = new Form();
loginBox.setCaption("Login");
layout.addComponent(loginBox);
// Create the first field which will be focused
TextField username = new TextField("User name");
loginBox.addField("username", username);
// Set focus to the user name
username.focus();
TextField password = new TextField("Password");
loginBox.addField("password", password);
Button login = new Button("Login");
loginBox.getFooter().addComponent(login);
// An additional component which natural focus order would
// be after the button.
CheckBox remember = new CheckBox("Remember me");
loginBox.getFooter().addComponent(remember);
username.setTabIndex(1);
password.setTabIndex(2);
remember.setTabIndex(3); // Different than natural place
login.setTabIndex(4);
After all focusable user interface components are done, the browser can begin again from the component with the smallest tab index, or it can take the focus out of the page, for example, to the location bar.
If the tab index is not set (is set to zero), the default tab order is used. The order is somewhat browser-dependent, but generally follows the HTML structure of the page.
A negative value means that the component is completely removed from the tabulation order and can not be reached by pressing the Tab key at all.
setTabIndex in interface Component.FocusabletabIndex - the tab order of this component. Indexes usually start
from 1. Zero means that default tab order should be used.
A negative value means that the field should not be
included in the tabbing sequence.Component.Focusable.getTabIndex()protected T getInternalValue()
setInternalValue(Object) to compute internal field value at
runtime. When doing so, typically also isModified() needs to be
overridden and care should be taken in the management of the empty state
and buffering support.protected void setInternalValue(T newValue)
getInternalValue() if necessary.newValue - the new value to be set.public void attach()
attach in interface ClientConnectorattach in interface Componentattach in class AbstractComponentComponent.attach()public void setLocale(Locale locale)
AbstractComponent
// Component for which the locale is meaningful
InlineDateField date = new InlineDateField("Datum");
// German language specified with ISO 639-1 language
// code and ISO 3166-1 alpha-2 country code.
date.setLocale(new Locale("de", "DE"));
date.setResolution(DateField.RESOLUTION_DAY);
layout.addComponent(date);
setLocale in class AbstractComponentlocale - the locale to become this component's locale.public void detach()
AbstractClientConnector
The caller of this method is #setParent(ClientConnector) if the
parent is in the session. When the parent is detached from the session it
is its responsibility to call ClientConnector.detach() for each of its children.
The AbstractClientConnector.getSession() and AbstractClientConnector.getUI() methods might return
null after this method is called.
detach in interface ClientConnectordetach in class AbstractComponentpublic boolean isRequired()
isRequired in interface Field<T>true if the field is required, otherwise
false.public void setRequired(boolean required)
setRequired in interface Field<T>required - Is the field required.public void setRequiredError(String requiredMessage)
setRequiredError in interface Field<T>requiredMessage - Message to be shown when this field is required, but empty.public String getRequiredError()
FieldgetRequiredError in interface Field<T>public String getConversionError()
public void setConversionError(String valueConversionError)
valueConversionError - Message to be shown when conversion of the value failspublic boolean isEmpty()
Fieldpublic void clear()
Field
The field value is typically reset to the initial value of the field.
Calling Field.isEmpty() on a cleared field must always returns true.
public boolean isValidationVisible()
public void setValidationVisible(boolean validateAutomatically)
validateAutomatically - True, if automatic validation is enabled.public void setCurrentBufferedSourceException(Buffered.SourceException currentBufferedSourceException)
currentBufferedSourceException - protected Buffered.SourceException getCurrentBufferedSourceException()
public Converter<T,Object> getConverter()
public void setConverter(Converter<T,?> converter)
converter - The new converter to use.protected AbstractFieldState getState()
AbstractComponentgetState in class AbstractComponentprotected AbstractFieldState getState(boolean markAsDirty)
AbstractClientConnectorgetState in class AbstractComponentmarkAsDirty - true if the connector should automatically be marked dirty,
false otherwiseAbstractClientConnector.getState()public void beforeClientResponse(boolean initial)
ClientConnectorbeforeClientResponse in interface ClientConnectorbeforeClientResponse in class AbstractComponentinitial - true if the client-side connector will be created
and initialized after this method has been invoked.
false if there is already an initialized
client-side connector.public boolean isImmediate()
Certain operations such as adding a value change listener will set the
component into immediate mode if AbstractComponent.setImmediate(boolean) has not
been explicitly called with false.
Fields are automatically set to immediate if validators have been added.
isImmediate in class AbstractComponentpublic void readDesign(org.jsoup.nodes.Element design,
DesignContext designContext)
ComponentThe 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.
readDesign in interface ComponentreadDesign in class AbstractComponentdesign - The element to obtain the state fromdesignContext - The DesignContext instance used for parsing the designprotected Collection<String> getCustomAttributes()
AbstractComponentreadDesign and writeDesign
methods. Typically these are handled in a custom way in the overridden
versions of the above methodsgetCustomAttributes in class AbstractComponentpublic void writeDesign(org.jsoup.nodes.Element design,
DesignContext designContext)
ComponentThe 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.
writeDesign in interface ComponentwriteDesign in class AbstractComponentdesign - 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 designCopyright © 2019 Vaadin Ltd. All rights reserved.