# User
Date: 2012-02-24

## 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
`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
`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>`