java.lang.Object
com.broadleafcommerce.adminuser.user.domain.User
All Implemented Interfaces:
Serializable

public class User extends Object implements Serializable
The domain object of a User. This User is defined in Authentication
See Also:
  • Constructor Details

  • Method Details

    • getAttribute

      public <T> T getAttribute(String key)
    • hasAttribute

      public boolean hasAttribute(String key)
    • getId

      public String getId()
    • getFirstName

      public String getFirstName()
      The first name of the user, if the fullName is not being used for the user.
      Returns:
      The first name of the user.
      See Also:
      • Customer#getName()
    • getMiddleName

      public String getMiddleName()
      The middle name of the user, if the fullName is not being used for the user.
      Returns:
      The middle name of the user.
      See Also:
      • Customer#getName()
    • getLastName

      public String getLastName()
      The last name of the user, if the fullName is not being used for the user.
      Returns:
      The last name of the user.
      See Also:
      • Customer#getName()
    • getFullName

      public String getFullName()
      The full name of the user.
      See Also:
      • Customer#getName()
    • getUsername

      public String getUsername()
      What this user uses to actually log in. Often the same as email.
    • getEmail

      public String getEmail()
      The user's email address.
    • getPhone

      public String getPhone()
      The user's phone number
    • getServiceId

      @Nullable public String getServiceId()
      If the auth service received this user from a BLC service (ex: the admin user service or the customer service), this field will be the ID value used by that service for this user.

      If this value is set, there should also be a value set for type.

      Only if both values are non-null, a combination of this field and type will be unique across all records in the authentication service. There is no uniqueness guarantee for records which have a null service ID or null type.

      See Also:
      • type
    • getType

      @Nullable public String getType()
      Represents the type of user this is. This value must be supplied if serviceId is set.
      See Also:
      • serviceId
      • UserType
    • getExternalId

      @Nullable public String getExternalId()
      Intended to hold any unique identifier for this user as known by an external (non-BLC) system. For example, many implementations may integrate or import/export data from other systems that manage their own unique identifiers.
      Returns:
      a unique identifier for this user in a non-BLC system
    • getTenantId

      @Nullable public String getTenantId()
      The id of the tenant this user is associated with.
    • getAttributes

      public Map<String,Object> getAttributes()
      Additional attributes of a user. All of a User's attributes that are available at the time of registration are available.
    • isLocked

      public boolean isLocked()
      Indicates the user has been locked due to too many failed login attempts.
    • isExpired

      public boolean isExpired()
      A flag indicating whether the admin user account is expired. If false, they will not be able to log in.

      This flag can be used to declare an account as expired and unusable, but currently there is no logic for that. It will always be false.

      Returns:
      true if the admin user account is expired, false otherwise
    • isChangePasswordRequired

      public boolean isChangePasswordRequired()
      A flag indicating whether the admin user account requires a password reset. If true, they will not be able to log in until they reset their password.
      Returns:
      true if the admin user's password is expired and requires a reset, false otherwise
    • getRoles

      public Set<AdminRoleRef> getRoles()
      The roles of the user. Not generally relevant, but is useful if user modification originates from the auth service.
    • isApplicationAccess

      public boolean isApplicationAccess()
      Indicate if this user has access to the application level
    • isTenantAccess

      public boolean isTenantAccess()
      Indicate if this user has access to the tenant level
    • getApplicationIds

      public Set<String> getApplicationIds()
      The applications this user is restricted to.
    • setId

      public void setId(String id)
    • setFirstName

      public void setFirstName(String firstName)
      The first name of the user, if the fullName is not being used for the user.
      Parameters:
      name - The first name of the user
      See Also:
      • Customer#getName()
    • setMiddleName

      public void setMiddleName(String middleName)
      The middle name of the user, if the fullName is not being used for the user.
      Parameters:
      name - The middle name of the user
      See Also:
      • Customer#getName()
    • setLastName

      public void setLastName(String lastName)
      The last name of the user, if the fullName is not being used for the user.
      Parameters:
      name - The last name of the user
      See Also:
      • Customer#getName()
    • setFullName

      public void setFullName(String fullName)
      The full name of the user.
      See Also:
      • Customer#getName()
    • setUsername

      public void setUsername(String username)
      What this user uses to actually log in. Often the same as email.
    • setEmail

      public void setEmail(String email)
      The user's email address.
    • setPhone

      public void setPhone(String phone)
      The user's phone number
    • setServiceId

      public void setServiceId(@Nullable String serviceId)
      If the auth service received this user from a BLC service (ex: the admin user service or the customer service), this field will be the ID value used by that service for this user.

      If this value is set, there should also be a value set for type.

      Only if both values are non-null, a combination of this field and type will be unique across all records in the authentication service. There is no uniqueness guarantee for records which have a null service ID or null type.

      See Also:
      • type
    • setType

      public void setType(@Nullable String type)
      Represents the type of user this is. This value must be supplied if serviceId is set.
      See Also:
      • serviceId
      • UserType
    • setExternalId

      public void setExternalId(@Nullable String externalId)
      Intended to hold any unique identifier for this user as known by an external (non-BLC) system. For example, many implementations may integrate or import/export data from other systems that manage their own unique identifiers.
      Parameters:
      externalId - a unique identifier for this user in a non-BLC system
    • setTenantId

      public void setTenantId(@Nullable String tenantId)
      The id of the tenant this user is associated with.
    • setAttributes

      public void setAttributes(Map<String,Object> attributes)
      Additional attributes of a user. All of a User's attributes that are available at the time of registration are available.
    • setLocked

      public void setLocked(boolean locked)
      Indicates the user has been locked due to too many failed login attempts.
    • setExpired

      public void setExpired(boolean expired)
      A flag indicating whether the admin user account is expired. If false, they will not be able to log in.

      This flag can be used to declare an account as expired and unusable, but currently there is no logic for that. It will always be false.

      Parameters:
      expired - true if the admin user account is expired, false otherwise
    • setChangePasswordRequired

      public void setChangePasswordRequired(boolean changePasswordRequired)
      A flag indicating whether the admin user account requires a password reset. If true, they will not be able to log in until they reset their password.
      Parameters:
      changePasswordRequired - true if the admin user's password is expired and requires a reset, false otherwise
    • setRoles

      public void setRoles(Set<AdminRoleRef> roles)
      The roles of the user. Not generally relevant, but is useful if user modification originates from the auth service.
    • setApplicationAccess

      public void setApplicationAccess(boolean applicationAccess)
      Indicate if this user has access to the application level
    • setTenantAccess

      public void setTenantAccess(boolean tenantAccess)
      Indicate if this user has access to the tenant level
    • setApplicationIds

      public void setApplicationIds(Set<String> applicationIds)
      The applications this user is restricted to.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • canEqual

      protected boolean canEqual(Object other)
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object