Package com.enonic.xp.security

## Class Principal

- java.lang.Object
- - com.enonic.xp.security.Principal

- All Implemented Interfaces:
    `Principal`
  Direct Known Subclasses:
    `Group`, `Role`, `User`

      @PublicApi
      public abstract class Principal
      extends Object
      implements Principal

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `Principal.Builder<B>` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `equals​(Object o)` |
    `String` | `getDescription()` |
    `String` | `getDisplayName()` |
    `PrincipalKey` | `getKey()` |
    `Instant` | `getModifiedTime()` |
    `String` | `getName()` |
    `int` | `hashCode()` |
    `String` | `toString()` |

    - ### Methods inherited from class java.lang.Object

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

    - ### Methods inherited from interface java.security.Principal

      `implies`

- - ### Method Detail

    - #### getKey

          public PrincipalKey getKey()

    - #### getDisplayName

          public String getDisplayName()

    - #### getModifiedTime

          public Instant getModifiedTime()

    - #### getDescription

          public String getDescription()

    - #### getName

          public String getName()

      Specified by:
        `getName` in interface `Principal`

    - #### equals

          public boolean equals​(Object o)

      Specified by:
        `equals` in interface `Principal`
      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Specified by:
        `hashCode` in interface `Principal`
      Overrides:
        `hashCode` in class `Object`

    - #### toString

          public String toString()

      Specified by:
        `toString` in interface `Principal`
      Overrides:
        `toString` in class `Object`