com.google.appengine.api.users

## Class User

- java.lang.Object
- - com.google.appengine.api.users.User

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<User>

      public final class User
      extends java.lang.Object
      implements java.io.Serializable, java.lang.Comparable<User>

  `User` represents a specific user, represented by the combination of an email address and a specific Google Apps domain (which we call an `authDomain`). For normal Google login, `authDomain` will be set to "gmail.com".
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `User(java.lang.String email, java.lang.String authDomain)` Creates a new User.
    `User(java.lang.String email, java.lang.String authDomain, java.lang.String userId)` Creates a new User.
    `User(java.lang.String email, java.lang.String authDomain, java.lang.String userId, java.lang.String federatedIdentity)` Creates a new User with a federated identity.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `compareTo(User user)`
    `boolean` | `equals(java.lang.Object object)`
    `java.lang.String` | `getAuthDomain()`
    `java.lang.String` | `getEmail()`
    `java.lang.String` | `getFederatedIdentity()`
    `java.lang.String` | `getNickname()` Return this user's nickname.
    `java.lang.String` | `getUserId()` Returns an opaque string that uniquely identifies the user represented by this `User` object.
    `int` | `hashCode()`
    `java.lang.String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### User

          public User(java.lang.String email,
              java.lang.String authDomain)

      Creates a new User.
      Parameters:
        `email` - a not `null` email address.
        `authDomain` - a not `null` domain name into which this user has authenticated, or "gmail.com" for normal Google authentication.

    - #### User

          public User(java.lang.String email,
              java.lang.String authDomain,
              java.lang.String userId)

      Creates a new User.
      Parameters:
        `email` - a not `null` email address.
        `authDomain` - a not `null` domain name into which this user has authenticated, or "gmail.com" for normal Google authentication.
        `userId` - a possibly-null string uniquely identifying the specified user.

    - #### User

          public User(java.lang.String email,
              java.lang.String authDomain,
              java.lang.String userId,
              java.lang.String federatedIdentity)

      Creates a new User with a federated identity.
      Parameters:
        `email` - an optional field holding the user's email.
        `authDomain` - the URL of the identity provider. Could be null.
        `userId` - a unique id for this user. Could be null.
        `federatedIdentity` - a not `null` asserted federated identity.

  - ### Method Detail

    - #### getNickname

          public java.lang.String getNickname()

      Return this user's nickname. The nickname will be a unique, human readable identifier for this user with respect to this application. It will be an email address for some users, but not all.

    - #### getAuthDomain

          public java.lang.String getAuthDomain()

    - #### getEmail

          public java.lang.String getEmail()

    - #### getUserId

          public java.lang.String getUserId()

      Returns an opaque string that uniquely identifies the user represented by this `User` object.

      May be null if this `User` object was created explicitly and no user ID was supplied.

    - #### getFederatedIdentity

          public java.lang.String getFederatedIdentity()

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### equals

          public boolean equals(java.lang.Object object)

      Overrides:
        `equals` in class `java.lang.Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `java.lang.Object`

    - #### compareTo

          public int compareTo(User user)

      Specified by:
        `compareTo` in interface `java.lang.Comparable<User>`