Class AbstractField<VALUE>

java.lang.Object
org.teamapps.ux.component.AbstractComponent
org.teamapps.ux.component.field.AbstractField<VALUE>
All Implemented Interfaces:
ClientObject, Component
Direct Known Subclasses:
AbstractComboBox, AbstractDateTimeField, AbstractTimeField, Button, CheckBox, ColorPicker, ComponentField, CurrencyField, DisplayField, FileField, ImageField, Label, LocalDateField, NumberField, PictureChooser, RichTextEditor, SimpleFileField, TemplateField, TextField

public abstract class AbstractField<VALUE>
extends AbstractComponent
  • Field Details

    • onValueChanged

      public final Event<VALUE> onValueChanged
    • onVisibilityChanged

      public final Event<java.lang.Boolean> onVisibilityChanged
  • Constructor Details

    • AbstractField

      public AbstractField()
  • Method Details

    • getEditingMode

      public FieldEditingMode getEditingMode()
    • setEditingMode

      public void setEditingMode​(FieldEditingMode editingMode)
    • setVisible

      public void setVisible​(boolean visible)
      Specified by:
      setVisible in interface Component
      Overrides:
      setVisible in class AbstractComponent
    • focus

      public void focus()
    • mapAbstractFieldAttributesToUiField

      protected void mapAbstractFieldAttributesToUiField​(org.teamapps.dto.UiField uiField)
    • setValue

      public void setValue​(VALUE value)
    • setAndLockValue

      protected MultiWriteLockableValue.Lock setAndLockValue​(VALUE value)
    • convertUxValueToUiValue

      public java.lang.Object convertUxValueToUiValue​(VALUE value)
      Converts a server-side value to a client-side field-specific value. Implementations must not have any side effects to the component!
      Parameters:
      value - the server-side value
      Returns:
      the object to be sent to the ui
    • getValue

      public VALUE getValue()
    • handleUiEvent

      public void handleUiEvent​(org.teamapps.dto.UiEvent event)
    • applyValueFromUi

      protected void applyValueFromUi​(java.lang.Object value)
    • convertUiValueToUxValue

      public VALUE convertUiValueToUxValue​(java.lang.Object value)
    • isEmpty

      public boolean isEmpty()
      Whether this field can be regarded as empty / "no user input". Override for field-specific behaviour.
      Returns:
      true if the value can be regarded as "empty".
    • getValidators

      public java.util.Collection<FieldValidator<VALUE>> getValidators()
    • addValidator

      public void addValidator​(FieldValidator<VALUE> validator)
    • removeValidator

      public void removeValidator​(FieldValidator<VALUE> validator)
    • validate

      public java.util.List<FieldMessage> validate()
    • clearValidatorMessages

      public void clearValidatorMessages()
    • setRequired

      public void setRequired​(boolean required)
      field may not be null (empty)
    • setRequiredIfVisibleAndEditable

      public void setRequiredIfVisibleAndEditable​(boolean required)
    • isRequired

      public boolean isRequired()
    • getFieldMessages

      public java.util.List<FieldMessage> getFieldMessages()
    • getCustomFieldMessages

      public java.util.List<FieldMessage> getCustomFieldMessages()
    • setCustomFieldMessages

      public void setCustomFieldMessages​(java.util.List<FieldMessage> fieldMessages)
    • addCustomFieldMessage

      public void addCustomFieldMessage​(FieldMessage.Severity severity, java.lang.String text)
    • addCustomFieldMessage

      public void addCustomFieldMessage​(FieldMessage fieldMessage)
    • removeCustomFieldMessage

      public void removeCustomFieldMessage​(FieldMessage fieldMessage)
    • clearCustomFieldMessages

      public void clearCustomFieldMessages()
    • isValid

      public boolean isValid()
    • getMaxFieldMessageSeverity

      public FieldMessage.Severity getMaxFieldMessageSeverity()
    • getDefaultMessagePosition

      public FieldMessage.Position getDefaultMessagePosition()
    • setDefaultMessagePosition

      public void setDefaultMessagePosition​(FieldMessage.Position defaultMessagePosition)
    • getDefaultMessageVisibility

      public FieldMessage.Visibility getDefaultMessageVisibility()
    • setDefaultMessageVisibility

      public void setDefaultMessageVisibility​(FieldMessage.Visibility defaultMessageVisibility)
    • isValueChangedByClient

      public boolean isValueChangedByClient()
    • setValueChangedByClient

      public void setValueChangedByClient​(boolean valueChangedByClient)