Class AbstractLogin

java.lang.Object
com.vaadin.flow.component.Component
com.vaadin.flow.component.login.AbstractLogin
All Implemented Interfaces:
com.vaadin.flow.component.AttachNotifier, com.vaadin.flow.component.DetachNotifier, com.vaadin.flow.component.HasElement, com.vaadin.flow.component.HasEnabled, com.vaadin.flow.component.HasStyle, Serializable
Direct Known Subclasses:
LoginForm, LoginOverlay

public abstract class AbstractLogin extends com.vaadin.flow.component.Component implements com.vaadin.flow.component.HasEnabled
Abstract component for the <vaadin-login-overlay> and <vaadin-login-form> components. On AbstractLogin.LoginEvent component becomes disabled. Disabled component stops to process login events, however the AbstractLogin.ForgotPasswordEvent event is processed anyway. To enable use the HasEnabled.setEnabled(boolean) method. Setting error setError(boolean) true makes component automatically enabled for the next login attempt.

Server side login listener do not work in combination with HTML form submission configured by setting the action attribute. The reason is that form submission, depending on the authentication process result, will cause a redirection to a different page or to current login view. In both cases a new Flow UI will be created and the event will potentially be forwarded to a dismissed UI. In addition, if the HTTP session ID is changed as a consequence of the authentication process, the server may respond to the login event with a session expiration error, cause a client resynchronization that can in turn cancel a potential redirect issued by the form submission.
Author:
Vaadin Ltd
See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    `forgot-password` is fired when the user clicks Forgot password button
    static class 
    `login` is fired when the user either clicks Submit button or presses an Enter key.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Initializes a new AbstractLogin with a default localization.
    Initializes a new AbstractLogin.
  • Method Summary

    Modifier and Type
    Method
    Description
    com.vaadin.flow.shared.Registration
    addForgotPasswordListener(com.vaadin.flow.component.ComponentEventListener<AbstractLogin.ForgotPasswordEvent> listener)
    Adds `forgotPassword` event listener.
    com.vaadin.flow.shared.Registration
    addLoginListener(com.vaadin.flow.component.ComponentEventListener<AbstractLogin.LoginEvent> listener)
    Adds `login` event listener.
    Returns the action defined for a login form.
    boolean
    Returns whether the error message is displayed or not
    boolean
    Returns whether the forgot password button is visible or not
    void
    onEnabledStateChanged(boolean enabled)
     
    void
    setAction(String action)
    Sets the path where to send the form-data when a form is submitted.
    void
    setError(boolean error)
    Sets whether to show or hide the error message.
    void
    setForgotPasswordButtonVisible(boolean forgotPasswordButtonVisible)
    Sets whether to show or hide the forgot password button.
    void
    Sets the internationalized messages to be used by this instance.
    void
    showErrorMessage(String title, String message)
    Shows given error message and sets setError(boolean) to true.

    Methods inherited from class com.vaadin.flow.component.Component

    addListener, findAncestor, fireEvent, from, get, getChildren, getElement, getEventBus, getId, getListeners, getLocale, getParent, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getUI, hasListener, isAttached, isTemplateMapped, isVisible, onAttach, onDetach, removeFromParent, scrollIntoView, scrollIntoView, set, setElement, setId, setVisible

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface com.vaadin.flow.component.AttachNotifier

    addAttachListener

    Methods inherited from interface com.vaadin.flow.component.DetachNotifier

    addDetachListener

    Methods inherited from interface com.vaadin.flow.component.HasElement

    getElement

    Methods inherited from interface com.vaadin.flow.component.HasEnabled

    isEnabled, setEnabled

    Methods inherited from interface com.vaadin.flow.component.HasStyle

    addClassName, addClassNames, getClassName, getClassNames, getStyle, hasClassName, removeClassName, removeClassNames, setClassName, setClassName
  • Constructor Details

    • AbstractLogin

      public AbstractLogin()
      Initializes a new AbstractLogin with a default localization.
    • AbstractLogin

      public AbstractLogin(LoginI18n i18n)
      Initializes a new AbstractLogin.
      Parameters:
      i18n - internationalized messages to be used by this instance.
  • Method Details

    • setAction

      public void setAction(String action)
      Sets the path where to send the form-data when a form is submitted. Once action is defined a AbstractLogin.LoginEvent is not fired anymore.

      The action attribute should not be used together with login listeners added with addLoginListener(ComponentEventListener). See class Javadoc for more information.

      See Also:
    • getAction

      public String getAction()
      Returns the action defined for a login form.
      Returns:
      the value of action property
    • setError

      public void setError(boolean error)
      Sets whether to show or hide the error message. The message can be set via setI18n(LoginI18n) Calling this method with true will also enable the component.
      Parameters:
      error - true to show the error message and enable component for next login attempt, false to hide an error
      See Also:
    • isError

      @Synchronize(property="error", value="error-changed") public boolean isError()
      Returns whether the error message is displayed or not
      Returns:
      the value of error property
    • setForgotPasswordButtonVisible

      public void setForgotPasswordButtonVisible(boolean forgotPasswordButtonVisible)
      Sets whether to show or hide the forgot password button. The button is visible by default
      Parameters:
      forgotPasswordButtonVisible - whether to display or hide the button
      See Also:
    • isForgotPasswordButtonVisible

      public boolean isForgotPasswordButtonVisible()
      Returns whether the forgot password button is visible or not
      Returns:
      true if the forgot password button is visible false otherwise
    • setI18n

      public void setI18n(LoginI18n i18n)
      Sets the internationalized messages to be used by this instance.
      Parameters:
      i18n - the internationalized messages
      See Also:
    • showErrorMessage

      public void showErrorMessage(String title, String message)
      Shows given error message and sets setError(boolean) to true.
      Parameters:
      title - the error message title, may be null.
      message - the error message, may be null.
    • addLoginListener

      public com.vaadin.flow.shared.Registration addLoginListener(com.vaadin.flow.component.ComponentEventListener<AbstractLogin.LoginEvent> listener)
      Adds `login` event listener.

      Login listeners should not be used together with the action attribute. See class Javadoc for more information.

      See Also:
    • addForgotPasswordListener

      public com.vaadin.flow.shared.Registration addForgotPasswordListener(com.vaadin.flow.component.ComponentEventListener<AbstractLogin.ForgotPasswordEvent> listener)
      Adds `forgotPassword` event listener. Event continues being process even if the component is not HasEnabled.isEnabled().
    • onEnabledStateChanged

      public void onEnabledStateChanged(boolean enabled)
      Overrides:
      onEnabledStateChanged in class com.vaadin.flow.component.Component