# Class HttpPrincipal

java.lang.Object
com.sun.net.httpserver.HttpPrincipal

All Implemented Interfaces:
  `Principal`

public class HttpPrincipal extends Object implements Principal
Represents a user authenticated by HTTP Basic or Digest authentication.

Since:
  1.6

## Constructor Summary

Constructors
Constructor
Description
`HttpPrincipal(String username, String realm)`
Creates a `HttpPrincipal` from the given `username` and `realm`.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object another)`
Compare two instances of `HttpPrincipal`.
`String`
`getName()`
Returns the contents of this principal in the form realm:username.
`String`
`getRealm()`
Returns the `realm` this object was created with.
`String`
`getUsername()`
Returns the `username` this object was created with.
`int`
`hashCode()`
Returns a hashcode for this `HttpPrincipal`.
`String`
`toString()`
Returns the same string as `getName()`.

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

### HttpPrincipal

public HttpPrincipal(String username, String realm)
Creates a `HttpPrincipal` from the given `username` and `realm`.

Parameters:
  `username` - the name of the user within the realm
  `realm` - the realm for this user
Throws:
  `NullPointerException` - if either username or realm are `null`

## Method Details

### equals

public boolean equals(Object another)
Compare two instances of `HttpPrincipal`. Returns `true` if another is an instance of `HttpPrincipal`, and its username and realm are equal to this object's username and realm. Returns `false` otherwise.

Specified by:
  `equals` in interface `Principal`
Overrides:
  `equals` in class `Object`
Parameters:
  `another` - the object to compare this instance of `HttpPrincipal` against
Returns:
  `true` or `false` depending on whether objects are equal or not
See Also:
  - `Object.hashCode()`
  - `HashMap`

### getName

public String getName()
Returns the contents of this principal in the form realm:username.

Specified by:
  `getName` in interface `Principal`
Returns:
  the contents of this principal in the form realm:username

### getUsername

public String getUsername()
Returns the `username` this object was created with.

Returns:
  the name of the user associated with this object

### getRealm

public String getRealm()
Returns the `realm` this object was created with.

Returns:
  the realm associated with this object

### hashCode

public int hashCode()
Returns a hashcode for this `HttpPrincipal`. This is calculated as `(getUsername()+getRealm()).hashCode()`.

Specified by:
  `hashCode` in interface `Principal`
Overrides:
  `hashCode` in class `Object`
Returns:
  the hashcode for this object
See Also:
  - `Object.equals(java.lang.Object)`
  - `System.identityHashCode(java.lang.Object)`

### toString

public String toString()
Returns the same string as `getName()`.

Specified by:
  `toString` in interface `Principal`
Overrides:
  `toString` in class `Object`
Returns:
  the name associated with this object