Class Account

java.lang.Object
com.google.gerrit.entities.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
  • Field Details

    • UNKNOWN_ACCOUNT_ID

      public static final Account.Id UNKNOWN_ACCOUNT_ID
      Placeholder for indicating an account-id that does not correspond to any local account
  • Constructor Details

    • Account

      public Account()
  • Method Details

    • id

      public static Account.Id id(int id)
    • id

      public abstract Account.Id id()
    • registeredOn

      public abstract Instant 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.
    • builder

      public static Account.Builder builder(Account.Id newId, Instant registeredOn)
      Create a new account.
      Parameters:
      newId - unique id, see Sequences#nextAccountId().
      registeredOn - when the account was registered.
    • 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.
    • getName

      public static String getName(Account.Id 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()
    • toBuilder

      public abstract Account.Builder toBuilder()
    • toString

      public final String toString()
      Overrides:
      toString in class Object