# Interface UserPrincipal

All Superinterfaces:
  `Principal`

All Known Subinterfaces:
  `GroupPrincipal`

public interface UserPrincipal extends Principal
A `Principal` representing an identity used to determine access rights to objects in a file system.

On many platforms and file systems an entity requires appropriate access rights or permissions in order to access objects in a file system. The access rights are generally performed by checking the identity of the entity. For example, on implementations that use Access Control Lists (ACLs) to enforce privilege separation then a file in the file system may have an associated ACL that determines the access rights of identities specified in the ACL.

A `UserPrincipal` object is an abstract representation of an identity. It has a `name` that is typically the username or account name that it represents. User principal objects may be obtained using a `UserPrincipalLookupService`, or returned by `FileAttributeView` implementations that provide access to identity related attributes. For example, the `AclFileAttributeView` and `PosixFileAttributeView` provide access to a file's `owner`.

Since:
  1.7

## Method Summary

### Methods declared in interface Principal

`equals, getName, hashCode, implies, toString`
Modifier and Type
Method
Description
`boolean`
`equals(Object another)`
Compares this `Principal` to the specified object.
`String`
`getName()`
Returns the name of this `Principal`.
`int`
`hashCode()`
Returns a hashcode for this `Principal`.
`default boolean`
`implies(Subject subject)`
Returns `true` if the specified subject is implied by this `Principal`.
`String`
`toString()`
Returns a string representation of this `Principal`.