# Class UnixNumericUserPrincipal

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

All Implemented Interfaces:
  `Serializable, Principal`

public class UnixNumericUserPrincipal extends Object implements Principal, Serializable
This class implements the `Principal` interface and represents a user's Unix identification number (UID).

Principals such as this `UnixNumericUserPrincipal` may be associated with a particular `Subject` to augment that `Subject` with an additional identity. Refer to the `Subject` class for more information on how to achieve this. Authorization decisions can then be based upon the Principals associated with a `Subject`.

Since:
  1.4
See Also:
  - `Principal`
  - `Subject`
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `UnixNumericUserPrincipal(long name)`
  Create a `UnixNumericUserPrincipal` using a long representation of the user's identification number (UID).
  `UnixNumericUserPrincipal(String name)`
  Create a `UnixNumericUserPrincipal` using a `String` representation of the user's identification number (UID).

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `equals(Object o)`
  Compares the specified Object with this `UnixNumericUserPrincipal` for equality.
  `String`
  `getName()`
  Return the user identification number (UID) for this `UnixNumericUserPrincipal`.
  `int`
  `hashCode()`
  Return a hash code for this `UnixNumericUserPrincipal`.
  `long`
  `longValue()`
  Return the user identification number (UID) for this `UnixNumericUserPrincipal` as a long.
  `String`
  `toString()`
  Return a string representation of this `UnixNumericUserPrincipal`.

  ### Methods declared in class Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

  ### Methods declared in interface Principal

  `implies`
  Modifier and Type
  Method
  Description
  `default boolean`
  `implies(Subject subject)`
  Returns `true` if the specified subject is implied by this `Principal`.

- ## Constructor Details

  - ### UnixNumericUserPrincipal

    public UnixNumericUserPrincipal(String name)
    Create a `UnixNumericUserPrincipal` using a `String` representation of the user's identification number (UID).
    Parameters:
      `name` - the user identification number (UID) for this user.
    Throws:
      `NullPointerException` - if the `name` is `null`.

  - ### UnixNumericUserPrincipal

    public UnixNumericUserPrincipal(long name)
    Create a `UnixNumericUserPrincipal` using a long representation of the user's identification number (UID).
    Parameters:
      `name` - the user identification number (UID) for this user represented as a long.

- ## Method Details

  - ### getName

    public String getName()
    Return the user identification number (UID) for this `UnixNumericUserPrincipal`.
    Specified by:
      `getName` in interface `Principal`
    Returns:
      the user identification number (UID) for this `UnixNumericUserPrincipal`

  - ### longValue

    public long longValue()
    Return the user identification number (UID) for this `UnixNumericUserPrincipal` as a long.
    Returns:
      the user identification number (UID) for this `UnixNumericUserPrincipal` as a long.

  - ### toString

    public String toString()
    Return a string representation of this `UnixNumericUserPrincipal`.
    Specified by:
      `toString` in interface `Principal`
    Overrides:
      `toString` in class `Object`
    Returns:
      a string representation of this `UnixNumericUserPrincipal`.

  - ### equals

    public boolean equals(Object o)
    Compares the specified Object with this `UnixNumericUserPrincipal` for equality. Returns true if the given object is also a `UnixNumericUserPrincipal` and the two UnixNumericUserPrincipals have the same user identification number (UID).
    Specified by:
      `equals` in interface `Principal`
    Overrides:
      `equals` in class `Object`
    Parameters:
      `o` - Object to be compared for equality with this `UnixNumericUserPrincipal`.
    Returns:
      true if the specified Object is equal to this `UnixNumericUserPrincipal`.
    See Also:
      - `Object.hashCode()`
      - `HashMap`

  - ### hashCode

    public int hashCode()
    Return a hash code for this `UnixNumericUserPrincipal`.
    Specified by:
      `hashCode` in interface `Principal`
    Overrides:
      `hashCode` in class `Object`
    Returns:
      a hash code for this `UnixNumericUserPrincipal`.
    See Also:
      - `Object.equals(java.lang.Object)`
      - `System.identityHashCode(Object)`