Package com.sas.lsaf.security.principal

## Interface Principal

- All Superinterfaces:
    `Identifiable`, `java.io.Serializable`
  All Known Implementing Classes:
    `AclMembers`, `AclOwner`, `Group`, `GroupDescriptor`, `User`, `UserDescriptor`

      public interface Principal
      extends Identifiable

  A principal is either a user or a group that is defined in the system.
  Since:
    1.2

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `equals​(java.lang.Object obj)` |
    `java.lang.String` | `getPrincipalId()` | Returns the principal identifier of a user or group.
    `java.lang.String` | `getPrincipalName()` | Returns the principal name of a user or group.
    `int` | `hashCode()` |

    - ### Methods inherited from interface com.sas.lsaf.core.Identifiable

      `getId, getTypeId`

- - ### Method Detail

    - #### getPrincipalId

          java.lang.String getPrincipalId()

      Returns the principal identifier of a user or group. This uniquely identifies the principal within the system.
      Returns:
        The principal identifier of a user or group.

    - #### getPrincipalName

          java.lang.String getPrincipalName()

      Returns the principal name of a user or group. This may not uniquely identify the principal and should only be used for display purposes.
      Returns:
        The principal name of a user or group.

    - #### hashCode

          int hashCode()

      Overrides:
        `hashCode` in class `java.lang.Object`

    - #### equals

          boolean equals​(java.lang.Object obj)

      Overrides:
        `equals` in class `java.lang.Object`