Class Account


  • public abstract class Account
    extends Object
    Information about a single user.

    A user may have multiple identities they can use to login to Gerrit (see ExternalId), but in such cases they always map back to a single Account entity.

    Entities "owned" by an Account (that is, their primary key contains the Account.Id key as part of their key structure):

    • ExternalId: OpenID identities and email addresses known to be registered to this user. Multiple records can exist when the user has more than one public identity, such as a work and a personal email address.
    • AccountSshKey: user's public SSH keys, for authentication through the internal SSH daemon. One record per SSH key uploaded by the user, keys are checked in random order until a match is found.
    • DiffPreferencesInfo: user's preferences for rendering side-to-side and unified diff
    • Constructor Detail

      • Account

        public Account()
    • Method Detail

      • registeredOn

        public abstract Timestamp registeredOn()
        Date and time the user registered with the review server.
      • fullName

        public abstract String fullName()
        Full name of the user ("Given-name Surname" style).
      • displayName

        public abstract String displayName()
        Optional display name of the user to be shown in the UI.
      • preferredEmail

        public abstract String preferredEmail()
        Email address the user prefers to be contacted through.
      • inactive

        public abstract boolean inactive()
        Is this user inactive? This is used to avoid showing some users (eg. former employees) in auto-suggest.
      • status

        public abstract String status()
        The user-settable status of this account (e.g. busy, OOO, available)
      • metaId

        public abstract String metaId()
        ID of the user branch from which the account was read.
      • getName

        public String getName()
        Formats an account name.

        The return value goes into NoteDb commits and audit logs, so it should not be changed.

        This method deliberately does not use Anonymous Coward because it can be changed using a gerrit.config option which is a problem for NoteDb commits that still refer to a previously defined value.

        Returns:
        the fullname, if present, otherwise the preferred email, if present, as a last resort a generic string containing the accountId.
      • getNameEmail

        public String getNameEmail​(String anonymousCowardName)
        Get the name and email address.

        Example output:

        • A U. Thor <[email protected]>: full populated
        • A U. Thor (12): missing email address
        • Anonymous Coward <[email protected]>: missing name
        • Anonymous Coward (12): missing name and email address
      • isActive

        public boolean isActive()