Class VirtualUser

java.lang.Object
de.xima.fc.user.VirtualUser
All Implemented Interfaces:
IUser, Serializable

public class VirtualUser extends Object implements IUser
Model for virtual users such as the SYSTEM user.
Since:
8.0.0
Author:
XIMA Media GmbH
See Also:
  • Field Details

    • SYSTEM

      public static final IUser SYSTEM
    • ANONYMOUS

      public static final IUser ANONYMOUS
  • Method Details

    • getUniversalReferenceId

      public String getUniversalReferenceId()
      Specified by:
      getUniversalReferenceId in interface IUser
      Returns:
      the universal reference ID of this user. The universal reference ID is unique for every user within the system across all authentication clients. See UserMgmtUtils.getUniversalReferenceId(EHashAlgorithm, String, String) for universal reference ID format.
    • getAuthenticationContext

      public IAuthenticationContext getAuthenticationContext()
      Specified by:
      getAuthenticationContext in interface IUser
      Returns:
      the authentication context for this user. The authentication context contains information about how the user authenticated. Virtual users don't have an authentication context because they have never been authenticated.
    • getEmail

      public String getEmail()
      Specified by:
      getEmail in interface IUser
      Returns:
      the email address of the user if there is any. The email address may come from the formcycle profile or the profile returned by the authentication client.
    • getUserName

      public String getUserName()
      Specified by:
      getUserName in interface IUser
      Returns:
      the user name of this user within the formcycle system if there is any and null otherwise.
    • getFirstName

      public String getFirstName()
      Specified by:
      getFirstName in interface IUser
      Returns:
      the first name of the user if there is any. The first name may come from the formcycle profile or the profile returned by the authentication client.
    • getFamilyName

      public String getFamilyName()
      Specified by:
      getFamilyName in interface IUser
      Returns:
      the family name of the user if there is any. The family name may come from the formcycle profile or the profile returned by the authentication client.
    • getDisplayName

      public String getDisplayName()
      Specified by:
      getDisplayName in interface IUser
      Returns:
      the display name of the user if there is any. The display name may come from the formcycle profile or the profile returned by the authentication client and is usually the full name (first and family name separated by whitespace).
    • getGender

      public EGender getGender()
      Specified by:
      getGender in interface IUser
      Returns:
      the gender of the user if there is any specified and EGender.UNSPECIFIED otherwise. The gender may come from the formcycle profile or the profile returned by the authentication client.
    • getPictureUrl

      public URI getPictureUrl()
      Specified by:
      getPictureUrl in interface IUser
      Returns:
      the picture URL of the user if there is any and null otherwise. The picture URL may come from the profile returned by the authentication client.
    • getProfile

      public UserProfile getProfile()
      Specified by:
      getProfile in interface IUser
      Returns:
      the formcycle profile of the user if a match was found in the system and null otherwise.
    • getRoles

      public Set<String> getRoles()
      Specified by:
      getRoles in interface IUser
      Returns:
      A Set of roles of the user within the system. Roles are scoped to clients or the system. For the format of client roles see UserMgmtUtils.getClientRole(Mandant, String). The format of system roles is just the role name.
    • getPermissions

      public Set<String> getPermissions()
      Specified by:
      getPermissions in interface IUser
      Returns:
      A Set of permission the user has within the system. Permissions are scoped to clients or the system. For the format of client permissions see UserMgmtUtils.getClientPermission(Mandant, String). The format of system permissions is just the permission name.
    • getClientAuthorizations

      public Set<IClientAuthorization> getClientAuthorizations()
      Description copied from interface: IUser
      Returns all client authorizations this user has been assigned. Client authorizations may be direct through a FOMRCYCLE account (see DirectClientAuthorization.getUserProfile()) or in indirect through filters (see IndirectClientAuthorization). The super user has authorizations to all clients that have super user access enabled (see Mandant.isSadminAccess()).
      Specified by:
      getClientAuthorizations in interface IUser
      Returns:
      a set of all authorizations for this user within the given client.
    • builder

      public static VirtualUser.Builder builder(String refId)