# Class UnixPrincipal

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

All Implemented Interfaces:
  `Serializable, Principal`

public class UnixPrincipal extends Object implements Principal, Serializable
This class implements the `Principal` interface and represents a Unix user.

Principals such as this `UnixPrincipal` 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
`UnixPrincipal(String name)`
Create a UnixPrincipal with a Unix username.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object o)`
Compares the specified Object with this `UnixPrincipal` for equality.
`String`
`getName()`
Return the Unix username for this `UnixPrincipal`.
`int`
`hashCode()`
Return a hash code for this `UnixPrincipal`.
`String`
`toString()`
Return a string representation of this `UnixPrincipal`.

### Methods declared in class Object

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

### Methods declared in interface Principal

`implies`

## Constructor Details

### UnixPrincipal

public UnixPrincipal(String name)
Create a UnixPrincipal with a Unix username.

Parameters:
  `name` - the Unix username for this user.
Throws:
  `NullPointerException` - if the `name` is `null`.

## Method Details

### getName

public String getName()
Return the Unix username for this `UnixPrincipal`.

Specified by:
  `getName` in interface `Principal`
Returns:
  the Unix username for this `UnixPrincipal`

### toString

public String toString()
Return a string representation of this `UnixPrincipal`.

Specified by:
  `toString` in interface `Principal`
Overrides:
  `toString` in class `Object`
Returns:
  a string representation of this `UnixPrincipal`.

### equals

public boolean equals(Object o)
Compares the specified Object with this `UnixPrincipal` for equality. Returns true if the given object is also a `UnixPrincipal` and the two UnixPrincipals have the same username.

Specified by:
  `equals` in interface `Principal`
Overrides:
  `equals` in class `Object`
Parameters:
  `o` - Object to be compared for equality with this `UnixPrincipal`.
Returns:
  true if the specified Object is equal to this `UnixPrincipal`.
See Also:
  - `Object.hashCode()`
  - `HashMap`

### hashCode

public int hashCode()
Return a hash code for this `UnixPrincipal`.

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