Class CurrentUser

    • Constructor Detail

      • CurrentUser

        protected CurrentUser()
      • CurrentUser

        protected CurrentUser​(PropertyMap properties)
    • Method Detail

      • getAccessPath

        public final AccessPath getAccessPath()
        How this user is accessing the Gerrit Code Review application.
      • setAccessPath

        public void setAccessPath​(AccessPath path)
      • getRealUser

        public CurrentUser getRealUser()
        Identity of the authenticated user.

        In the normal case where a user authenticates as themselves getRealUser() == this.

        If X-Gerrit-RunAs or suexec was used this method returns the identity of the account that has permission to act on behalf of this user.

      • isImpersonating

        public boolean isImpersonating()
      • updateRealAccountId

        public void updateRealAccountId​(Consumer<Account.Id> setter)
        If the getRealUser() has an account ID associated with it, call the given setter with that ID.
      • getEffectiveGroups

        public abstract GroupMembership getEffectiveGroups()
        Get the set of groups the user is currently a member of.

        The returned set may be a subset of the user's actual groups; if the user's account is currently deemed to be untrusted then the effective group set is only the anonymous and registered user groups. To enable additional groups (and gain their granted permissions) the user must update their account to use only trusted authentication providers.

        Returns:
        active groups for this user.
      • getCacheKey

        public abstract Object getCacheKey()
        Returns a unique identifier for this user that is intended to be used as a cache key. Returned object should to implement equals() and hashCode() for effective caching.
      • getUserName

        public Optional<String> getUserName()
        Unique name of the user on this server, if one has been assigned.
      • getLoggableName

        public String getLoggableName()
        Returns:
        unique name of the user for logging, never null
      • isIdentifiedUser

        public boolean isIdentifiedUser()
        Check if user is the IdentifiedUser
      • asIdentifiedUser

        public IdentifiedUser asIdentifiedUser()
        Cast to IdentifiedUser if possible.
      • getEmailAddresses

        public com.google.common.collect.ImmutableSet<String> getEmailAddresses()
        Returns all email addresses associated with this user. For AnonymousUser and other users that don't represent a person user or service account, this set will be empty.
      • getExternalIdKeys

        public com.google.common.collect.ImmutableSet<ExternalId.Key> getExternalIdKeys()
        Returns all ExternalId.Keys associated with this user. For AnonymousUser and other users that don't represent a person user or service account, this set will be empty.
      • isInternalUser

        public boolean isInternalUser()
        Check if the CurrentUser is an InternalUser.
      • get

        public <T> Optional<T> get​(PropertyMap.Key<T> key)
        Lookup a stored property.
        Parameters:
        key - unique property key. This key has to be the same instance that was used to store the value when constructing the PropertyMap
        Returns:
        stored value, or Optional#empty().
      • hasSameAccountId

        public boolean hasSameAccountId​(CurrentUser other)
        Checks if the current user has the same account id of another.

        Provide a generic interface for allowing subclasses to define whether two accounts represent the same account id.

        Parameters:
        other - user to compare
        Returns:
        true if the two users have the same account id