# Class UserPrincipal

java.lang.Object
com.sun.security.auth.UserPrincipal

All Implemented Interfaces:
  `Serializable`, `Principal`

public final class UserPrincipal extends Object implements Principal, Serializable
A user principal identified by a username or account name.

After successful authentication, a user `Principal` can be associated with a particular `Subject` to augment that `Subject` with an additional identity. Authorization decisions can then be based upon the `Principal`s that are associated with a `Subject`.

This class is immutable.

Since:
  1.6
See Also:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`UserPrincipal(String name)`
Creates a principal.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object object)`
Compares this principal to the specified object.
`String`
`getName()`
Returns the name of this principal.
`int`
`hashCode()`
Returns a hash code for this principal.
`String`
`toString()`
Returns a string representation of this principal.

### Methods declared in class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods declared in interface java.security.Principal

`implies`

## Constructor Details

### UserPrincipal

public UserPrincipal(String name)
Creates a principal.

Parameters:
  `name` - The principal's string name.
Throws:
  `NullPointerException` - If the `name` is `null`.

## Method Details

### equals

public boolean equals(Object object)
Compares this principal to the specified object.

Specified by:
  `equals` in interface `Principal`
Overrides:
  `equals` in class `Object`
Parameters:
  `object` - The object to compare this principal against.
Returns:
  true if they are equal; false otherwise.
See Also:
  - `Object.hashCode()`
  - `HashMap`

### hashCode

public int hashCode()
Returns a hash code for this principal.

Specified by:
  `hashCode` in interface `Principal`
Overrides:
  `hashCode` in class `Object`
Returns:
  The principal's hash code.
See Also:
  - `Object.equals(java.lang.Object)`
  - `System.identityHashCode(java.lang.Object)`

### getName

public String getName()
Returns the name of this principal.

Specified by:
  `getName` in interface `Principal`
Returns:
  The principal's name.

### toString

public String toString()
Returns a string representation of this principal.

Specified by:
  `toString` in interface `Principal`
Overrides:
  `toString` in class `Object`
Returns:
  The principal's name.