UserPrincipal (Java SE 12 & JDK 12 )
Keywords: com.sun.security.auth.UserPrincipal class

Module jdk.security.auth
Package com.sun.security.auth

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

    - #### UserPrincipal

          public UserPrincipal​(String name)

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

  - ### Method Detail

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